summaryrefslogtreecommitdiff
path: root/modules/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/config.py')
-rw-r--r--modules/config.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/config.py b/modules/config.py
new file mode 100644
index 0000000..602ec8d
--- /dev/null
+++ b/modules/config.py
@@ -0,0 +1,27 @@
+import __main__
+import os.path
+
+import yaml
+
+class Config:
+ def __init__(self):
+ self.intents_dir = ""
+ self.applications_dir = ""
+
+ def update(self, **entries):
+ self.__dict__.update(entries)
+
+ if not self.intents_dir.startswith("/"):
+ self.intents_dir = os.path.join(os.path.dirname(__main__.__file__), self.intents_dir)
+
+def load_config():
+ config = Config()
+ with open(os.path.join(os.path.dirname(__main__.__file__), "config.yaml")) as stream:
+ config.update(**yaml.safe_load(stream))
+
+ user_config = os.path.join(os.environ["HOME"], ".config", "hestia", "config.yaml")
+ if os.path.exists(user_config):
+ with open(user_config) as stream:
+ config.update(**yaml.safe_load(stream))
+
+ return config \ No newline at end of file