Spaces:
Sleeping
Sleeping
| # modules/config_loader.py | |
| import json | |
| from pathlib import Path | |
| from utils.logger import log | |
| class ConfigLoader: | |
| def __init__(self, config_dir: Path = Path("./config")): | |
| self.config_dir = config_dir | |
| self.cities = {} | |
| self.personas = {} | |
| self.interests = {} | |
| try: | |
| self._load_all() | |
| log.info("✅ 所有配置文件加载成功") | |
| except Exception as e: | |
| log.error(f"❌ 配置文件加载失败: {e}", exc_info=True) | |
| raise | |
| def _load_all(self): | |
| # 加载城市 | |
| with open(self.config_dir / "cities.json", 'r', encoding='utf-8') as f: | |
| cities_data = json.load(f) | |
| for city in cities_data['cities']: | |
| for alias in [city['name']] + city.get('aliases', []): | |
| self.cities[alias.lower()] = city | |
| # 加载 personas | |
| with open(self.config_dir / "personas.json", 'r', encoding='utf-8') as f: | |
| self.personas = json.load(f)['personas'] | |
| # 加载兴趣 | |
| with open(self.config_dir / "interests.json", 'r', encoding='utf-8') as f: | |
| self.interests = json.load(f)['interests'] | |