Files
Lycostorrent/app/config.py
2026-03-23 20:59:26 +01:00

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)