import os import logging from pathlib import Path logger = logging.getLogger(__name__) class Config: """Gestion de la configuration de l'application""" def __init__(self): # Configuration Jackett self.jackett_url = os.getenv('JACKETT_URL', '') self.jackett_api_key = os.getenv('JACKETT_API_KEY', '') # Configuration Prowlarr self.prowlarr_url = os.getenv('PROWLARR_URL', '') self.prowlarr_api_key = os.getenv('PROWLARR_API_KEY', '') # Configuration TMDb self.tmdb_api_key = os.getenv('TMDB_API_KEY', '') # Configuration Last.fm self.lastfm_api_key = os.getenv('LASTFM_API_KEY', '') # Chemins self.config_dir = Path('/app/config') self.logs_dir = Path('/app/logs') # Création des dossiers si nécessaire self.config_dir.mkdir(parents=True, exist_ok=True) self.logs_dir.mkdir(parents=True, exist_ok=True) # Validation self._validate() def _validate(self): """Valide la configuration""" has_jackett = self.jackett_url and self.jackett_api_key has_prowlarr = self.prowlarr_url and self.prowlarr_api_key if not has_jackett and not has_prowlarr: logger.warning("⚠️ Aucun indexer configuré ! Configurer JACKETT ou PROWLARR") if has_jackett: logger.info(f"✅ Jackett configuré: {self.jackett_url}") if has_prowlarr: logger.info(f"✅ Prowlarr configuré: {self.prowlarr_url}") @property def has_jackett(self): return bool(self.jackett_url and self.jackett_api_key) @property def has_prowlarr(self): return bool(self.prowlarr_url and self.prowlarr_api_key)