"""Configurarea aplicatiei (variabile de mediu, fara secrete in cod).""" from __future__ import annotations import os from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent # Cheia folosita cand nu exista CANTARIRE_SECRET_KEY; NU se foloseste in productie. DEV_SECRET_KEY = "dev-only-change-me" def _env_flag(name: str, default: bool = False) -> bool: value = os.environ.get(name) if value is None: return default return value.strip().lower() in {"1", "true", "yes", "on"} class Config: # Flask SECRET_KEY = os.environ.get("CANTARIRE_SECRET_KEY", DEV_SECRET_KEY) MAX_CONTENT_LENGTH = 2 * 1024 * 1024 # Date de rulare: baza SQLite, bridge.json, jurnale de etichete INSTANCE_DIR = Path(os.environ.get("CANTARIRE_INSTANCE", BASE_DIR / "instance")) DATABASE = INSTANCE_DIR / "cantarire.db" BRIDGE_CONFIG = Path(os.environ.get("CANTARIRE_BRIDGE_CONFIG", INSTANCE_DIR / "bridge.json")) # CANTARIRE_SIMULATE="mahak_mds,toledo_cont:4800:7E1" porneste cantoare simulate SIMULATE = os.environ.get("CANTARIRE_SIMULATE", "").strip() # Cat de proaspata / cat de mult asteptam o citire de la cantar WEIGHT_MAX_AGE_MS = int(os.environ.get("CANTARIRE_MAX_AGE_MS", "1500")) WEIGHT_WAIT_MS = int(os.environ.get("CANTARIRE_WAIT_MS", "2500")) # Printarea automata din browser (plugin extern); se poate dezactiva global AUTO_PRINT = _env_flag("CANTARIRE_AUTO_PRINT", True) JSON_AS_ASCII = False