import os from dotenv import load_dotenv # Load environment variables load_dotenv() class Config: # Google Custom Search API GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") GOOGLE_CSE_ID = os.getenv("GOOGLE_CSE_ID") # Gemini API GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") # Application settings MAX_CANDIDATES = int(os.getenv("MAX_CANDIDATES", "10")) SEARCH_DELAY = float(os.getenv("SEARCH_DELAY", "2.0")) # seconds between requests # Cache settings CACHE_ENABLED = os.getenv("CACHE_ENABLED", "true").lower() == "true" CACHE_TTL = int(os.getenv("CACHE_TTL", "3600")) # 1 hour in seconds CACHE_MAX_SIZE = int(os.getenv("CACHE_MAX_SIZE", "1000")) # Maximum number of cached items CACHE_FILE_PATH = os.getenv("CACHE_FILE_PATH", "cache/linkedin_search_cache.json") # Scoring weights EDUCATION_WEIGHT = 0.20 CAREER_TRAJECTORY_WEIGHT = 0.20 COMPANY_RELEVANCE_WEIGHT = 0.15 EXPERIENCE_MATCH_WEIGHT = 0.25 LOCATION_WEIGHT = 0.10 TENURE_WEIGHT = 0.10 @classmethod def validate_config(cls): """Validate that all required environment variables are set""" required_vars = [ "GOOGLE_API_KEY", "GOOGLE_CSE_ID", "GEMINI_API_KEY" ] missing_vars = [] for var in required_vars: if not getattr(cls, var): missing_vars.append(var) if missing_vars: raise ValueError(f"Missing required environment variables: {', '.join(missing_vars)}") return True