import os from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent class Config: SECRET_KEY = os.getenv("SECRET_KEY", "dev-only-change-this-secret") MODELS_DIR = Path(os.getenv("MODELS_DIR", str(BASE_DIR / "models"))).resolve() DATA_DIR = Path(os.getenv("DATA_DIR", str(BASE_DIR))).resolve() DATA_SOURCE = os.getenv("DATA_SOURCE", "mysql").strip().lower() MYSQL_HOST = os.getenv("MYSQL_HOST", "127.0.0.1") MYSQL_PORT = int(os.getenv("MYSQL_PORT", "3306")) MYSQL_DATABASE = os.getenv("MYSQL_DATABASE", "prediksicabe") MYSQL_USER = os.getenv("MYSQL_USER", "root") MYSQL_PASSWORD = os.getenv("MYSQL_PASSWORD", "") MYSQL_CONNECT_TIMEOUT = int(os.getenv("MYSQL_CONNECT_TIMEOUT", "5")) PRICE_UNIT_SCALE = float(os.getenv("PRICE_UNIT_SCALE", "1000")) ALLOWED_HORIZONS = (1, 3, 7, 14, 30) MAX_HORIZON = 30 CORS_ORIGINS = os.getenv( "CORS_ORIGINS", "http://127.0.0.1:5173,http://localhost:5173", ) STALE_DATA_DAYS = int(os.getenv("STALE_DATA_DAYS", "30")) TREND_THRESHOLD_PCT = float(os.getenv("TREND_THRESHOLD_PCT", "1")) SISKAPERBAPO_URL = os.getenv( "SISKAPERBAPO_URL", "https://siskaperbapo.jatimprov.go.id/harga-komoditas", ) SISKAPERBAPO_COMMODITY_PARAM = os.getenv("SISKAPERBAPO_COMMODITY_PARAM", "komoditas") SISKAPERBAPO_TIMEOUT = int(os.getenv("SISKAPERBAPO_TIMEOUT", "30")) SISKAPERBAPO_COMMODITIES = tuple( value.strip() for value in os.getenv("SISKAPERBAPO_COMMODITIES", "rawit").split(",") if value.strip() )