summaryrefslogtreecommitdiff
path: root/modules/responses/response_handler.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/responses/response_handler.py')
-rw-r--r--modules/responses/response_handler.py35
1 files changed, 5 insertions, 30 deletions
diff --git a/modules/responses/response_handler.py b/modules/responses/response_handler.py
index ee0acca..9cc0cf0 100644
--- a/modules/responses/response_handler.py
+++ b/modules/responses/response_handler.py
@@ -1,31 +1,6 @@
-import yaml
+from abc import ABC, abstractmethod
-from pathlib import Path
-
-from ..config import Config
-from ..responses.responses import Responses
-from ..hassil.util import merge_dict
-from .libnotify import respond as respond_libnotify
-
-class ResponseHandler:
- def __init__(self, config: Config):
- response_dict = {"responses": {}}
-
- response_yaml_path = Path(config.responses_dir)
- response_yaml_file_paths = response_yaml_path.glob("*.yaml")
- for yaml_file_path in response_yaml_file_paths:
- with open(yaml_file_path, "r", encoding="utf-8") as yaml_file:
- merge_dict(response_dict, yaml.safe_load(yaml_file))
-
- self.responses = Responses.from_dict(response_dict)
- self.respond_methods = [respond_libnotify]
-
- def respond(self, response: str, intent_name: str):
- response_key = intent_name if response == "default" else response
- if response_key not in self.responses.responses:
- print(f"No response found for: {response_key}")
- return
-
- response_text = self.responses.responses[response_key].sentence_texts[0]
- for respond_method in self.respond_methods:
- respond_method(response_text)
+class ResponseHandler(ABC):
+ @abstractmethod
+ def respond(self, response: str):
+ pass \ No newline at end of file