Cleanup language support on TTS (#5255)
* Cleanup language support on TTS * change to default_language & address comments * Cleanup not needed code / comment from paulus
This commit is contained in:
parent
467cb18625
commit
3f3a3bcc8a
6 changed files with 156 additions and 59 deletions
|
@ -6,28 +6,50 @@ https://home-assistant.io/components/demo/
|
|||
"""
|
||||
import os
|
||||
|
||||
from homeassistant.components.tts import Provider
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.tts import Provider, PLATFORM_SCHEMA, CONF_LANG
|
||||
|
||||
SUPPORT_LANGUAGES = [
|
||||
'en', 'de'
|
||||
]
|
||||
|
||||
DEFAULT_LANG = 'en'
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Optional(CONF_LANG, default=DEFAULT_LANG): vol.In(SUPPORT_LANGUAGES),
|
||||
})
|
||||
|
||||
|
||||
def get_engine(hass, config):
|
||||
"""Setup Demo speech component."""
|
||||
return DemoProvider()
|
||||
return DemoProvider(config[CONF_LANG])
|
||||
|
||||
|
||||
class DemoProvider(Provider):
|
||||
"""Demo speech api provider."""
|
||||
|
||||
def __init__(self):
|
||||
"""Initialize demo provider for TTS."""
|
||||
self.language = 'en'
|
||||
def __init__(self, lang):
|
||||
"""Initialize demo provider."""
|
||||
self._lang = lang
|
||||
|
||||
def get_tts_audio(self, message, language=None):
|
||||
@property
|
||||
def default_language(self):
|
||||
"""Default language."""
|
||||
return self._lang
|
||||
|
||||
@property
|
||||
def supported_languages(self):
|
||||
"""List of supported languages."""
|
||||
return SUPPORT_LANGUAGES
|
||||
|
||||
def get_tts_audio(self, message, language):
|
||||
"""Load TTS from demo."""
|
||||
filename = os.path.join(os.path.dirname(__file__), "demo.mp3")
|
||||
try:
|
||||
with open(filename, 'rb') as voice:
|
||||
data = voice.read()
|
||||
except OSError:
|
||||
return
|
||||
return (None, None)
|
||||
|
||||
return ("mp3", data)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue