import os from dotenv import load_dotenv import logging # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) # Load environment variables from .env file (for local development) load_dotenv() class Config: """Configuration class for FeedHire application""" def __init__(self): # Get environment variables and strip whitespace self.organisation_number = os.getenv("organisationNumber", "").strip() self.token = os.getenv("token", "").strip() self.post_api_url = os.getenv("postApiUrl", "").strip() self.service_trigger = os.getenv("ServiceTrigger", "").strip() # Validate environment variables on startup self._validate_config() def _validate_config(self): """Validate required environment variables""" missing_vars = [] if not self.organisation_number: missing_vars.append("organisationNumber") if not self.token: missing_vars.append("token") if not self.post_api_url: missing_vars.append("postApiUrl") if not self.service_trigger: missing_vars.append("ServiceTrigger") if missing_vars: warning_msg = f"Missing environment variables: {', '.join(missing_vars)}" logger.warning(warning_msg) print(f"⚠️ WARNING: {warning_msg}") print("Please check your Hugging Face Spaces Secrets configuration") else: logger.info("All required environment variables are configured") return missing_vars def get_missing_vars(self): """Return list of missing configuration variables""" return self._validate_config() # Create global config instance config = Config()