"""API-Konfiguration.""" from pydantic_settings import BaseSettings from pydantic import Field from typing import Optional class Settings(BaseSettings): """Rippy API Settings.""" # API Keys tmdb_api_key: Optional[str] = Field(default=None, description="TMDB API Key (Pflicht für Metadaten-Lookup)") thetvdb_api_key: Optional[str] = Field(default=None, description="TVDb API Key (Optional)") musicbrainz_user: Optional[str] = Field(default=None, description="MusicBrainz User (Optional)") # Cache cache_ttl: int = Field(default=86400, ge=3600, le=604800, description="Cache TTL in Sekunden (1h - 7d)") # Ripping rip_output_dir: str = Field(default="/app/media", description="Basisverzeichnis für Ripping-Ergebnisse") temp_dir: str = Field(default="/app/temp", description="Temp-Verzeichnis für Ripping") # Logging log_level: str = Field(default="INFO", pattern="^(DEBUG|INFO|WARNING|ERROR|CRITICAL)$", description="Log Level") # JWT jwt_secret_key: Optional[str] = Field(default=None, description="JWT Secret Key (wird auto-generiert wenn nicht gesetzt)") class Config: env_file = ".env" env_file_encoding = "utf-8" settings = Settings()