"""Zentrale Konfiguration, geladen aus der .env-Datei.""" import os from pathlib import Path from dotenv import load_dotenv # Projektwurzel = ein Verzeichnis über diesem File BASE_DIR = Path(__file__).resolve().parent.parent load_dotenv(BASE_DIR / ".env") DATA_DIR = BASE_DIR / "data" DATA_DIR.mkdir(exist_ok=True) DB_PATH = DATA_DIR / "episupport.db" def _b(value: str, default: bool = False) -> bool: if value is None: return default return value.strip().lower() in ("1", "true", "yes", "on", "ja") # --- Zammad --- ZAMMAD_URL = os.getenv("ZAMMAD_URL", "https://epi-helpdesk.zammad.com").rstrip("/") ZAMMAD_TOKEN = os.getenv("ZAMMAD_TOKEN", "").strip() ZAMMAD_USER = os.getenv("ZAMMAD_USER", "").strip() ZAMMAD_PASSWORD = os.getenv("ZAMMAD_PASSWORD", "") # --- Abruf --- POLL_INTERVAL_SECONDS = int(os.getenv("POLL_INTERVAL_SECONDS", "180")) # --- Web --- URL_PREFIX = os.getenv("EPISUPPORT_URL_PREFIX", "/episupport").rstrip("/") PORT = int(os.getenv("EPISUPPORT_PORT", "8071")) # Zeitzone für die Anzeige (Zammad liefert UTC) DISPLAY_TZ = os.getenv("DISPLAY_TZ", "Europe/Berlin") # --- E-Mail --- NOTIFY_ENABLED = _b(os.getenv("NOTIFY_ENABLED"), False) SMTP_HOST = os.getenv("SMTP_HOST", "").strip() SMTP_PORT = int(os.getenv("SMTP_PORT", "587")) SMTP_USER = os.getenv("SMTP_USER", "").strip() SMTP_PASSWORD = os.getenv("SMTP_PASSWORD", "") SMTP_STARTTLS = _b(os.getenv("SMTP_STARTTLS"), True) SMTP_SSL = _b(os.getenv("SMTP_SSL"), False) # True => SMTPS (Port 465) SMTP_FROM = os.getenv("SMTP_FROM", "").strip() NOTIFY_TO = [a.strip() for a in os.getenv("NOTIFY_TO", "").split(",") if a.strip()]