57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
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) |