33 lines
830 B
Python
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")
|
|
|
|
|