spectra/config.py

25 lines
719 B
Python

import os
import secrets
import toml
CONFIG_FILE = "config.toml"
def load_or_create_config():
if not os.path.exists(CONFIG_FILE):
admin_password = secrets.token_urlsafe(16)
config = {
"admin": {"password": admin_password},
"directories": {"upload": "uploads", "thumbnail": "thumbnails"},
"appearance": {"accent_color": "#ff6600"},
"server": {"host": "0.0.0.0", "port": 5002},
}
with open(CONFIG_FILE, "w") as f:
toml.dump(config, f)
print(f"Generated new config file with admin password: {admin_password}")
else:
with open(CONFIG_FILE, "r") as f:
config = toml.load(f)
return config