From 152e83027479ec98203be47228e3516367da77cf Mon Sep 17 00:00:00 2001 From: Hugh Williams Date: Fri, 18 Sep 2020 13:04:22 +0100 Subject: [PATCH 1/2] Adding a event listener to respond with text without speaking --- __init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/__init__.py b/__init__.py index f1af87b..9cc6e9f 100644 --- a/__init__.py +++ b/__init__.py @@ -102,6 +102,9 @@ def query(self, input): data = self.request({"query": {"input": input}}) return wolframalpha.Result(BytesIO(data.content)) + def query_to_string(self, input): + data = self.request({"query": {"input": input}}) + return data.content.decode("utf-8") def spoken(self, query, lat_lon, units='metric'): try: @@ -147,6 +150,7 @@ def __init_client(self): def initialize(self): self._setup() self.settings_change_callback =self.on_settings_changed + self.add_event('wolfram.unspoken.request', self.emit_text_result) def on_settings_changed(self): self.log.debug("settings changed") @@ -176,6 +180,10 @@ def get_result(self, res): except: return result + def emit_text_result(self, message): + response = self.client.query_to_string(message.data.get('query')) + self.bus.emit(Message("wolfram.unspoken.response", {'result': response})) + def CQS_match_query_phrase(self, utt): self.log.debug("WolframAlpha query: " + utt) From 30b53ddfb6bd0f6465845a80b4baf20b83f172a4 Mon Sep 17 00:00:00 2001 From: Hugh Williams Date: Sat, 10 Oct 2020 16:44:18 +0100 Subject: [PATCH 2/2] Update message naming --- __init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index 9cc6e9f..6b78c30 100644 --- a/__init__.py +++ b/__init__.py @@ -150,7 +150,7 @@ def __init_client(self): def initialize(self): self._setup() self.settings_change_callback =self.on_settings_changed - self.add_event('wolfram.unspoken.request', self.emit_text_result) + self.add_event('skill.wolfram.unspoken.request', self.emit_text_result) def on_settings_changed(self): self.log.debug("settings changed") @@ -182,7 +182,7 @@ def get_result(self, res): def emit_text_result(self, message): response = self.client.query_to_string(message.data.get('query')) - self.bus.emit(Message("wolfram.unspoken.response", {'result': response})) + self.bus.emit(Message("skill.wolfram.unspoken.response", {'result': response})) def CQS_match_query_phrase(self, utt): self.log.debug("WolframAlpha query: " + utt)