From b15bd2cc5790992ee0ceffe1ff3769c5bfe97387 Mon Sep 17 00:00:00 2001 From: Daniel McKnight Date: Wed, 15 Nov 2023 10:03:37 -0800 Subject: [PATCH] Update message passed to `_query_timeout` for expected message data --- ovos_core/intent_services/commonqa_service.py | 34 ++----------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/ovos_core/intent_services/commonqa_service.py b/ovos_core/intent_services/commonqa_service.py index 9507a42668f..4ca80f2310f 100644 --- a/ovos_core/intent_services/commonqa_service.py +++ b/ovos_core/intent_services/commonqa_service.py @@ -1,31 +1,3 @@ -# NEON AI (TM) SOFTWARE, Software Development Kit & Application Framework -# All trademark and other rights reserved by their respective owners -# Copyright 2008-2022 Neongecko.com Inc. -# Contributors: Daniel McKnight, Guy Daniels, Elon Gasper, Richard Leeds, -# Regina Bloomstine, Casimiro Ferreira, Andrii Pernatii, Kirill Hrymailo -# BSD-3 License -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# 3. Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from this -# software without specific prior written permission. -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - import re import time import ovos_core.intent_services @@ -43,7 +15,6 @@ from ovos_config.config import Configuration -# TODO: Remove below patches with ovos-core 0.0.8 @dataclass class Query: session_id: str @@ -177,15 +148,15 @@ def handle_question(self, message): query.timeout_time = time.time() + 1 timeout = False while not query.responses_gathered.wait(self._extension_time): + # forcefully timeout if search is still going if time.time() > query.timeout_time + 1: LOG.debug(f"Timeout gathering responses ({query.session_id})") timeout = True break - # forcefully timeout if search is still going if timeout: LOG.warning(f"Timed out getting responses for: {query.query}") - self._query_timeout(message) + self._query_timeout(msg) if not query.completed.wait(10): raise TimeoutError("Timed out processing responses") answered = bool(query.answered) @@ -288,6 +259,7 @@ def speak(self, utterance, message=None): 'meta': {"skill": selected_skill}, 'lang': lang} + # TODO: If this is an internal method, there will always be a `message` m = message.reply("speak", data) if message \ else Message("speak", data, {"source": "skills", "destination": ["audio"]})