1+ from datetime import datetime
2+ from network_security .constants import training_pipeline
3+
4+ import os , sys
5+
6+
7+ class TrainingPipelineConfig :
8+ def __init__ (self , timestamp = datetime .now ()):
9+ timestamp = timestamp .strftime ("%m_%d_%Y_%H_%M_%S" )
10+ self .pipeline_name = training_pipeline .PIPELINE_NAME
11+ self .artifact_name = training_pipeline .ARTIFACT_DIR
12+ self .artifact_dir = os .join (self .artifact_name , timestamp )
13+ self .timestamp : str = timestamp
14+
15+
16+ class DataIngestionConfig :
17+ def __init__ (self , training_pipeline_config :TrainingPipelineConfig ):
18+ self .data_ingestion_dir : str = os .path .join (
19+ training_pipeline_config .artifact_dir ,
20+ training_pipeline .DATA_INGESTION_DIR_NAME
21+ )
22+ self .feature_store_file_path : str = os .path .join (
23+ self .data_ingestion_dir ,
24+ training_pipeline .DATA_INGESTION_FEATURE_STORE_DIR ,
25+ training_pipeline .FILE_NAME
26+ )
27+ self .train_file_path : str = os .path .join (
28+ self .data_ingestion_dir ,
29+ training_pipeline .DATA_INGESTION_INGESTED_DIR ,
30+ training_pipeline .TRAIN_FILE_NAME
31+ )
32+ self .test_file_path : str = os .path .join (
33+ self .data_ingestion_dir ,
34+ training_pipeline .DATA_INGESTION_INGESTED_DIR ,
35+ training_pipeline .TEST_FILE_NAME
36+ )
37+ self .train_test_split_ratio : float = training_pipeline .DATA_INGESTION_TRAIN_TEST_SPLIT_RATION
38+ self .collection_name : str = training_pipeline .DATA_INGESTION_COLLECTION_NAME
39+ self .db_name : str = training_pipeline .DATA_INGESTION_DATABASE_NAME
0 commit comments