Some checks failed
Build & Deploy / deploy (push) Failing after 11m38s
Ungenutzte Hilfsfunktion, ungenutzter Konfigurationswert und drei CSS-Regeln ohne Verwendung im Markup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
"""Konfiguration. Alle Werte kommen aus der Umgebung (im Betrieb aus .env)."""
|
|
import os
|
|
from pathlib import Path
|
|
|
|
|
|
def _s(name: str, default: str = "") -> str:
|
|
return os.environ.get(name, default).strip()
|
|
|
|
|
|
def _i(name: str, default: int) -> int:
|
|
try:
|
|
return int(_s(name) or default)
|
|
except ValueError:
|
|
return default
|
|
|
|
|
|
def _b(name: str, default: bool) -> bool:
|
|
v = _s(name).lower()
|
|
if not v:
|
|
return default
|
|
return v in ("1", "true", "yes", "on")
|
|
|
|
|
|
DATA_DIR = Path(_s("DATA_DIR", "./data"))
|
|
IMAGE_DIR = DATA_DIR / "images"
|
|
DB_PATH = DATA_DIR / "cards.db"
|
|
|
|
# Leeres Passwort schaltet die Anmeldung ab - nur fuer die lokale Entwicklung.
|
|
APP_PASSWORD = _s("APP_PASSWORD")
|
|
SECRET_KEY = _s("SECRET_KEY", "dev-only-insecure-secret")
|
|
SESSION_DAYS = _i("SESSION_DAYS", 30)
|
|
|
|
ANTHROPIC_API_KEY = _s("ANTHROPIC_API_KEY")
|
|
ANTHROPIC_MODEL = _s("ANTHROPIC_MODEL", "claude-opus-5")
|
|
EXTRACT_CONCURRENCY = _i("EXTRACT_CONCURRENCY", 5)
|
|
|
|
SMTP_HOST = _s("SMTP_HOST")
|
|
SMTP_PORT = _i("SMTP_PORT", 587)
|
|
SMTP_USER = _s("SMTP_USER")
|
|
SMTP_PASSWORD = _s("SMTP_PASSWORD")
|
|
SMTP_FROM = _s("SMTP_FROM") or SMTP_USER
|
|
SMTP_STARTTLS = _b("SMTP_STARTTLS", True)
|
|
REMINDER_TO = _s("REMINDER_TO")
|
|
|
|
REVERSE_GEOCODE = _b("REVERSE_GEOCODE", True)
|
|
NOMINATIM_URL = _s("NOMINATIM_URL", "https://nominatim.openstreetmap.org/reverse")
|
|
USER_AGENT = _s("USER_AGENT", "business-card-scanner/1.0 (self-hosted)")
|
|
|
|
PUBLIC_BASE_URL = _s("PUBLIC_BASE_URL").rstrip("/")
|
|
|
|
|
|
def ensure_dirs() -> None:
|
|
IMAGE_DIR.mkdir(parents=True, exist_ok=True)
|