Initial commit: aplicatie de cantarire si etichetare
Aplicatie Flask + SQLite pentru productie alimentara: cantarirea componentelor unui produs finit si tiparirea etichetei prin QZ Tray. - produse finite (retete) formate din componente cantarite - designer vizual de etichete (mm/px, zona sigura, campuri variabile, cod QR cu continut din mai multe bucati) - legare produs finit -> sablon de eticheta - navigare pe doua taburi: Cantarire / Setari - administrare: componente, produse finite, sabloane, campuri, istoric - backup, resetare baza de date, checklist de pregatire, /healthz - CLI de administrare si serviciu systemd pentru productie - vendor/syncpulse-scale-bridge (GPL-3.0-or-later) pentru citirea cantarului
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user