45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
"""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"))
|
|
|
|
# --- 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()]
|