Files
GtaBuyBaseGui/modules/config/settings.py
2022-08-15 21:35:46 +03:00

43 lines
1.0 KiB
Python

from modules.config.model import ConfigModel
import json
class Config:
@staticmethod
def default():
return {
"database": "default.gtabase",
"profile": None,
"theme": "Dark gray",
"images": True
}
@staticmethod
def fix() -> None:
try:
with open("config.cfg", "w") as file:
json.dump(Config.default(), file)
except FileNotFoundError:
Config.fix()
@staticmethod
def get() -> ConfigModel:
try:
with open("config.cfg", "r") as file:
return ConfigModel.from_dict(json.load(file))
except:
Config.fix()
return Config.get()
@staticmethod
def update(key: str, value: str | None) -> dict:
with open("config.cfg", "r") as file:
settings = json.load(file)
settings[key] = value
with open("config.cfg", "w") as file:
json.dump(settings, file)
return settings