summaryrefslogtreecommitdiff
path: root/backend/settings.py
diff options
context:
space:
mode:
authorAAGaming <aa@mail.catvibers.me>2022-08-24 23:51:20 -0400
committerAAGaming <aa@mail.catvibers.me>2022-08-24 23:51:20 -0400
commit79db0c779d6942c6bdc6823a5faef57b5307f7b3 (patch)
tree3ba46c46750d7cdfc04f6c14191e0dd1177c170f /backend/settings.py
parentfe2b6b02831c918c25d88604df94d8d2f360b75a (diff)
downloaddecky-loader-79db0c779d6942c6bdc6823a5faef57b5307f7b3.tar.gz
decky-loader-79db0c779d6942c6bdc6823a5faef57b5307f7b3.zip
Settings API for loader, preview branch select
Diffstat (limited to 'backend/settings.py')
-rw-r--r--backend/settings.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/backend/settings.py b/backend/settings.py
new file mode 100644
index 00000000..03718dab
--- /dev/null
+++ b/backend/settings.py
@@ -0,0 +1,38 @@
+from os import path, mkdir
+from json import load, dump
+
+class SettingsManager:
+ def __init__(self, name, settings_directory) -> None:
+ self.path = path.join(settings_directory, name + ".json")
+
+ if not path.exists(settings_directory):
+ mkdir(settings_directory)
+
+ self.settings = {}
+
+ try:
+ open(self.path, "x")
+ except FileExistsError as e:
+ self.read()
+ pass
+
+ def read(self):
+ try:
+ with open(self.path, "r") as file:
+ self.settings = load(file)
+ except Exception as e:
+ print(e)
+ pass
+
+ def commit(self):
+ with open(self.path, "w+") as file:
+ dump(self.settings, file, indent=4)
+
+ def getSetting(self, key, default):
+ if key in self.settings:
+ return self.settings[key]
+ return default
+
+ def setSetting(self, key, value):
+ self.settings[key] = value
+ self.commit() \ No newline at end of file