Spaces:
Sleeping
Sleeping
| 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 | |
| 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 |