"Refactor settings configuration using Conventional Commits format (feat)"
This commit is contained in:
@@ -1,27 +1,12 @@
|
|||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import secrets
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
# Basisverzeichnis der Anwendung für relative Pfade
|
# Hardcodierte Konfiguration
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
SECRET_KEY = "7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F"
|
||||||
PROJECT_ROOT = BASE_DIR.parent
|
DATABASE_PATH = "../database/myp.db"
|
||||||
|
TAPO_USERNAME = "till.tomczak@mercedes-benz.com"
|
||||||
# Laden von Umgebungsvariablen, falls vorhanden
|
TAPO_PASSWORD = "744563017196A"
|
||||||
def get_env_variable(var_name, default=None):
|
|
||||||
"""Umgebungsvariablen abrufen mit Fallback auf Default-Werte"""
|
|
||||||
return os.environ.get(var_name, default)
|
|
||||||
|
|
||||||
# Sichere Konfiguration - Verwende Umgebungsvariablen oder generiere Secret Key
|
|
||||||
SECRET_KEY = get_env_variable("MYP_SECRET_KEY", secrets.token_hex(24))
|
|
||||||
|
|
||||||
# Datenbankpfad mit korrekter relativer Pfadauflösung
|
|
||||||
DATABASE_PATH = os.path.join(PROJECT_ROOT, "database", "myp.db")
|
|
||||||
|
|
||||||
# Tapo-Zugangsdaten aus Umgebungsvariablen laden
|
|
||||||
TAPO_USERNAME = get_env_variable("MYP_TAPO_USERNAME", "")
|
|
||||||
TAPO_PASSWORD = get_env_variable("MYP_TAPO_PASSWORD", "")
|
|
||||||
|
|
||||||
# Drucker-Konfiguration
|
# Drucker-Konfiguration
|
||||||
PRINTERS = {
|
PRINTERS = {
|
||||||
@@ -34,28 +19,28 @@ PRINTERS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Logging-Konfiguration
|
# Logging-Konfiguration
|
||||||
LOG_DIR = os.path.join(PROJECT_ROOT, "logs")
|
LOG_DIR = "logs"
|
||||||
LOG_SUBDIRS = ["app", "scheduler", "auth", "jobs", "printers", "errors"]
|
LOG_SUBDIRS = ["app", "scheduler", "auth", "jobs", "printers", "errors"]
|
||||||
LOG_LEVEL = get_env_variable("MYP_LOG_LEVEL", "INFO")
|
LOG_LEVEL = "INFO"
|
||||||
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||||||
LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
|
LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
|
||||||
|
|
||||||
# Flask-Konfiguration
|
# Flask-Konfiguration
|
||||||
FLASK_HOST = get_env_variable("MYP_FLASK_HOST", "0.0.0.0")
|
FLASK_HOST = "0.0.0.0"
|
||||||
FLASK_PORT = int(get_env_variable("MYP_FLASK_PORT", 443))
|
FLASK_PORT = 443
|
||||||
FLASK_FALLBACK_PORT = int(get_env_variable("MYP_FLASK_FALLBACK_PORT", 80))
|
FLASK_FALLBACK_PORT = 80
|
||||||
FLASK_DEBUG = get_env_variable("MYP_FLASK_DEBUG", "True").lower() in ("true", "1", "yes")
|
FLASK_DEBUG = True
|
||||||
SESSION_LIFETIME = timedelta(days=int(get_env_variable("MYP_SESSION_DAYS", 7)))
|
SESSION_LIFETIME = timedelta(days=7)
|
||||||
|
|
||||||
# SSL-Konfiguration
|
# SSL-Konfiguration
|
||||||
SSL_ENABLED = get_env_variable("MYP_SSL_ENABLED", "True").lower() in ("true", "1", "yes")
|
SSL_ENABLED = get_env_variable("MYP_SSL_ENABLED", "True").lower() in ("true", "1", "yes")
|
||||||
SSL_CERT_PATH = os.path.join(PROJECT_ROOT, "certs", "myp.crt")
|
SSL_CERT_PATH = os.path.join(BASE_DIR, "certs", "myp.crt")
|
||||||
SSL_KEY_PATH = os.path.join(PROJECT_ROOT, "certs", "myp.key")
|
SSL_KEY_PATH = os.path.join(BASE_DIR, "certs", "myp.key")
|
||||||
SSL_HOSTNAME = get_env_variable("MYP_SSL_HOSTNAME", "raspberrypi")
|
SSL_HOSTNAME = get_env_variable("MYP_SSL_HOSTNAME", "raspberrypi")
|
||||||
|
|
||||||
# Scheduler-Konfiguration
|
# Scheduler-Konfiguration
|
||||||
SCHEDULER_INTERVAL = int(get_env_variable("MYP_SCHEDULER_INTERVAL", 60)) # Sekunden
|
SCHEDULER_INTERVAL = 60 # Sekunden
|
||||||
SCHEDULER_ENABLED = get_env_variable("MYP_SCHEDULER_ENABLED", "True").lower() in ("true", "1", "yes")
|
SCHEDULER_ENABLED = True
|
||||||
|
|
||||||
# Datenbank-Konfiguration
|
# Datenbank-Konfiguration
|
||||||
DB_ENGINE = f"sqlite:///{DATABASE_PATH}"
|
DB_ENGINE = f"sqlite:///{DATABASE_PATH}"
|
||||||
|
Reference in New Issue
Block a user