refactor: update configuration loading and ensure directory existence across modules

This commit is contained in:
2025-08-07 00:36:32 +02:00
parent 104d7e1146
commit 96291b4ad0
9 changed files with 179 additions and 45 deletions
+4 -4
View File
@@ -2,9 +2,10 @@ import logging
from pathlib import Path
from typing import Optional, Union
from core.config.config_manager import ConfigManager
from core.config.logging_config import LoggingConfig
from core.config.pipeline_config import PipelineConfig
from core.utils import ensure_directories
from .config_manager import ConfigManager
from .logging_config import LoggingConfig
from .pipeline_config import PipelineConfig
config_manager = ConfigManager()
@@ -43,7 +44,6 @@ def setup_config(config_path: Optional[Path] = None, env: str = "development") -
setup_logging(config)
# Ensure required directories exist
from core.utils import ensure_directories
ensure_directories(config)
logging.info(f"Loaded configuration: {config.name} v{config.version}")
+9 -5
View File
@@ -1,13 +1,17 @@
import logging
from contextlib import contextmanager
from pathlib import Path
from typing import TYPE_CHECKING
from core.config import get_config, PipelineConfig
if TYPE_CHECKING:
from core.config import PipelineConfig
@contextmanager
def temporary_config_override(**overrides):
"""Context manager for temporarily overriding configuration"""
from core.config import get_config
config = get_config()
original_values = {}
@@ -25,7 +29,7 @@ def temporary_config_override(**overrides):
setattr(config, key, value)
def ensure_directories(config: PipelineConfig) -> None:
def ensure_directories(config: "PipelineConfig") -> None:
"""Ensure all required directories exist"""
directories = [
config.paths.data_dir,
@@ -42,16 +46,16 @@ def ensure_directories(config: PipelineConfig) -> None:
logging.info("Ensured all required directories exist")
def get_data_file_path(filename: str, config: PipelineConfig) -> Path:
def get_data_file_path(filename: str, config: "PipelineConfig") -> Path:
"""Get full path for a data file"""
return config.paths.data_dir / filename
def get_model_file_path(filename: str, config: PipelineConfig) -> Path:
def get_model_file_path(filename: str, config: "PipelineConfig") -> Path:
"""Get full path for a model file"""
return config.paths.models_dir / filename
def get_output_file_path(filename: str, config: PipelineConfig) -> Path:
def get_output_file_path(filename: str, config: "PipelineConfig") -> Path:
"""Get full path for an output file"""
return config.paths.outputs_dir / filename