Files
business-card-scanner/app/config.py
Lucas Orth 811dba4e98
Some checks failed
Build & Deploy / deploy (push) Failing after 11m38s
Toten Code entfernen
Ungenutzte Hilfsfunktion, ungenutzter Konfigurationswert und drei
CSS-Regeln ohne Verwendung im Markup.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-06 11:46:52 +02:00

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)