39 lines
1.5 KiB
Python
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()
|
|
)
|