39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
# battleflow/config.py
|
|
import os
|
|
|
|
DEFAULT_DATA_DIR = os.path.join(os.getcwd(), "battleflow_data")
|
|
|
|
def load_config(app, **overrides):
|
|
app.config.setdefault("SECRET_KEY", os.environ.get("SECRET_KEY", "dev-secret"))
|
|
app.config.setdefault(
|
|
"COMBAT_TOKEN",
|
|
overrides.get("token") or os.environ.get("BATTLEFLOW_TOKEN", "changeme")
|
|
)
|
|
|
|
# Kies data-dir: override/env > default. Migreer legacy 'initrack_data' → 'battleflow_data' indien nodig.
|
|
data_dir = overrides.get("data_dir") or os.environ.get("BATTLEFLOW_DATA_DIR")
|
|
if not data_dir:
|
|
default_new = DEFAULT_DATA_DIR
|
|
legacy = os.path.join(os.getcwd(), "initrack_data")
|
|
# Als legacy bestaat en nieuwe nog niet: gebruik legacy (geen dataverlies).
|
|
data_dir = legacy if (os.path.isdir(legacy) and not os.path.exists(default_new)) else default_new
|
|
|
|
app.config["DATA_DIR"] = data_dir
|
|
app.config["STATE_PATH"] = os.path.join(data_dir, "state.json")
|
|
app.config["PRESETS_PATH"] = os.path.join(data_dir, "presets.json")
|
|
app.config["PRESET_GROUPS_PATH"] = os.path.join(data_dir, "preset_groups.json")
|
|
app.config["AVATAR_DIR"] = os.path.join(data_dir, "avatars")
|
|
app.config["ICON_DIR"] = os.path.join(data_dir, "icons")
|
|
app.config.setdefault("MAX_CONTENT_LENGTH", 8 * 1024 * 1024)
|
|
|
|
# Zorg dat mappen bestaan
|
|
os.makedirs(app.config["DATA_DIR"], exist_ok=True)
|
|
os.makedirs(app.config["AVATAR_DIR"], exist_ok=True)
|
|
os.makedirs(app.config["ICON_DIR"], exist_ok=True)
|
|
|
|
# Branding
|
|
app.config.setdefault("PRODUCT_NAME", "Battleflow")
|
|
app.config.setdefault("PRODUCT_SUBTITLE", "by Aetryos Workshop")
|
|
|
|
return app
|