uploader-bot/app/core/models/_config.py

33 lines
830 B
Python

from app.core.logger import make_log
from json import loads as json_loads
from json import dumps as json_dumps
class ConfigFile:
def __init__(self, filepath: str):
self.filepath = filepath
with open(self.filepath, 'r') as file:
self.values = json_loads(file.read())
assert isinstance(self.values, dict)
def get(self, key, default=None):
return self.values.get(key, default)
def save(self):
with open(self.filepath, 'w') as file:
file.write(
json_dumps(
self.values,
indent=4,
sort_keys=True
)
)
def set(self, key, value):
self.values[key] = value
self.save()
make_log("ConfigFile", f"Edited {key}", level="debug")