TIF_E41253368/api/app/config.py

39 lines
1.5 KiB
Python

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()
)