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

pull/2813/head
neonandrii 2021-01-25 20:59:30 +02:00
parent ba7b2795ec
commit aca69203e6
1 changed files with 8 additions and 4 deletions

View File

@ -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'