Issue-2567 - Fixing not initialized dialog_render (#2685)

Fixes #2567
pull/2697/head
katridi 2020-09-15 15:40:39 +03:00 committed by GitHub
parent 31fd9914ef
commit a185a9a4bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions

View File

@ -1134,9 +1134,17 @@ class MycroftSkill:
wait (bool): set to True to block while the text
is being spoken.
"""
data = data or {}
self.speak(self.dialog_renderer.render(key, data),
expect_response, wait, meta={'dialog': key, 'data': data})
if self.dialog_renderer:
data = data or {}
self.speak(
self.dialog_renderer.render(key, data),
expect_response, wait, meta={'dialog': key, 'data': data}
)
else:
self.log.warning(
'dialog_render is None, does the locale/dialog folder exist?'
)
self.speak(key, expect_response, wait, {})
def acknowledge(self):
"""Acknowledge a successful request.

View File

@ -602,6 +602,13 @@ class TestMycroftSkill(unittest.TestCase):
# Restore lang to en-us
s.config_core['lang'] = 'en-us'
def test_speak_dialog_render_not_initialized(self):
"""Test that non-initialized dialog_renderer won't raise an error."""
s = SimpleSkill1()
s.bind(self.emitter)
s.dialog_renderer = None
s.speak_dialog(key='key')
class _TestSkill(MycroftSkill):
def __init__(self):