From aca69203e6c3976c1d75fa7e8d92a5f3eb6ad3ce Mon Sep 17 00:00:00 2001 From: neonandrii Date: Mon, 25 Jan 2021 20:59:30 +0200 Subject: [PATCH] Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues --- mycroft/skills/skill_manager.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mycroft/skills/skill_manager.py b/mycroft/skills/skill_manager.py index 74e57a239a..ee4db8b655 100644 --- a/mycroft/skills/skill_manager.py +++ b/mycroft/skills/skill_manager.py @@ -444,13 +444,17 @@ class SkillManager(Thread): self._emit_converse_error(message, skill_id, error_message) break try: - # check the signature of a converse method to either pass a message or not - if len(signature(skill_loader.instance.converse).parameters) == 1: - result = skill_loader.instance.converse(message) + # check the signature of a converse method + # to either pass a message or not + if len(signature( + skill_loader.instance.converse).parameters) == 1: + result = skill_loader.instance.converse( + message=message) else: utterances = message.data['utterances'] lang = message.data['lang'] - result = skill_loader.instance.converse(utterances, lang) + result = skill_loader.instance.converse( + utterances=utterances, lang=lang) self._emit_converse_response(result, message, skill_loader) except Exception: error_message = 'exception in converse method'