aboutsummaryrefslogtreecommitdiff
path: root/src/helpers/preferences.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/preferences.py')
-rw-r--r--src/helpers/preferences.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/helpers/preferences.py b/src/helpers/preferences.py
new file mode 100644
index 0000000..f190eeb
--- /dev/null
+++ b/src/helpers/preferences.py
@@ -0,0 +1,28 @@
+import json
+import os
+
+
+class PreferenceManager:
+ def __init__(self, default_prefs, preferences_file):
+ self.DEFAULT_PREFS, self.preferences = default_prefs, default_prefs
+ self.preferences_file = preferences_file
+ self.load()
+
+ def load(self):
+ if os.path.exists(self.preferences_file):
+ with open(self.preferences_file, "r") as f:
+ self.preferences = json.load(f)
+
+ def save(self):
+ with open(self.preferences_file, "w") as f:
+ json.dump(self.preferences, f)
+
+ def get(self, key):
+ return self.preferences[key]
+
+ def set(self, key, value):
+ self.preferences[key] = value
+
+ def reset(self):
+ self.preferences = self.DEFAULT_PREFS
+ self.save()