# -*- coding: utf-8 -*- from __future__ import annotations import os from pathlib import Path from dotenv import load_dotenv ROOT = Path(__file__).resolve().parent.parent load_dotenv(ROOT / ".env") DATA_DIR = ROOT / "data" DATA_DIR.mkdir(parents=True, exist_ok=True) RELEASES_DIR = ROOT / "releases" RELEASES_DIR.mkdir(parents=True, exist_ok=True) class Config: SECRET_KEY = os.getenv("FLASK_SECRET_KEY", "gold-monitor-dev-secret-change-me") ADMIN_USER = os.getenv("ADMIN_USER", "admin") ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "admin123") HOST = os.getenv("HOST", "0.0.0.0") PORT = int(os.getenv("PORT", "5800")) PUBLIC_BASE_URL = os.getenv("PUBLIC_BASE_URL", "http://127.0.0.1:5800").rstrip("/") _db = os.getenv("DATABASE_URL", f"sqlite:///{DATA_DIR / 'gold_monitor.db'}") if _db.startswith("sqlite:///"): # 相对路径转到仓库根 rel = _db.replace("sqlite:///", "", 1) p = Path(rel) if not p.is_absolute(): p = ROOT / p DATABASE_PATH = p else: DATABASE_PATH = DATA_DIR / "gold_monitor.db"