# -*- coding: utf-8 -*- """ Configuration Package for MYP Platform ====================================== This package contains all configuration modules for the Mercedes-Benz 3D Printing Platform. Modules: - security: Security configuration and middleware - database: Database configuration and settings - logging: Logging configuration - app_config: Main application configuration """ __version__ = "2.0.0" __author__ = "MYP Development Team" # Import main configuration modules try: from .security import SecurityConfig, get_security_headers from .app_config import Config, DevelopmentConfig, ProductionConfig, TestingConfig except ImportError as e: print(f"Warning: Could not import configuration modules: {e}") # Fallback configurations SecurityConfig = None get_security_headers = None Config = None # Export main configuration classes __all__ = [ 'SecurityConfig', 'get_security_headers', 'Config', 'DevelopmentConfig', 'ProductionConfig', 'TestingConfig' ] def get_config(config_name='development'): """ Get configuration object based on environment name. Args: config_name (str): Configuration environment name Returns: Config: Configuration object """ configs = { 'development': DevelopmentConfig, 'production': ProductionConfig, 'testing': TestingConfig } return configs.get(config_name, DevelopmentConfig) def validate_config(config_obj): """ Validate configuration object. Args: config_obj: Configuration object to validate Returns: bool: True if valid, False otherwise """ required_attrs = ['SECRET_KEY', 'DATABASE_URL'] for attr in required_attrs: if not hasattr(config_obj, attr): print(f"Missing required configuration: {attr}") return False return True