summaryrefslogtreecommitdiff
path: root/modules/config.py
diff options
context:
space:
mode:
authorBotond Hende <nettingman@gmail.com>2024-11-27 22:52:45 +0100
committerBotond Hende <nettingman@gmail.com>2024-11-27 22:52:45 +0100
commit744961a1538fbb0d821c5d2a332d65fd8c6b1290 (patch)
treec64cd50642aea8d91f366cad3b2811ba5d6fada9 /modules/config.py
parent9a79c535edb655ca490c2b231aad2466951caf7f (diff)
responses basic datastructure and deserialization
Diffstat (limited to 'modules/config.py')
-rw-r--r--modules/config.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/modules/config.py b/modules/config.py
index 83243a0..b0fc624 100644
--- a/modules/config.py
+++ b/modules/config.py
@@ -14,21 +14,29 @@ class Config:
self.input_mode = ""
self.intents_dir = ""
+ self.responses_dir = ""
self.applications_dir = ""
self.lock = ""
- def update(self, **entries):
+ def update(self, **entries) -> None:
self.__dict__.update(entries)
- if not self.intents_dir.startswith("/"):
- self.intents_dir = os.path.join(os.path.dirname(__main__.__file__), self.intents_dir)
+ self.intents_dir = Config.__convert_to_absolute_path(self.intents_dir)
+ self.responses_dir = Config.__convert_to_absolute_path(self.responses_dir)
- def validate(self):
+ @staticmethod
+ def __convert_to_absolute_path(path: str) -> str:
+ if not path.startswith("/"):
+ path = os.path.join(os.path.dirname(__main__.__file__), path)
+
+ return path
+
+ def validate(self) -> None:
if self.input_mode not in self.INPUT_MODES:
sys.exit(f"Invalid input_mode '{self.input_mode}', valid options: {", ".join(self.INPUT_MODES)}")
-def load_config():
+def load_config() -> Config:
config = Config()
with open(os.path.join(os.path.dirname(__main__.__file__), "config.yaml")) as stream:
config.update(**yaml.safe_load(stream))