mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
TTS add google language list for config check (#4912)
* Add config check for language * update default * move language from component to platform * fix lint
This commit is contained in:
parent
a359d21799
commit
6d2de67620
@ -41,7 +41,6 @@ CONF_TIME_MEMORY = 'time_memory'
|
|||||||
|
|
||||||
DEFAULT_CACHE = True
|
DEFAULT_CACHE = True
|
||||||
DEFAULT_CACHE_DIR = "tts"
|
DEFAULT_CACHE_DIR = "tts"
|
||||||
DEFAULT_LANG = 'en'
|
|
||||||
DEFAULT_TIME_MEMORY = 300
|
DEFAULT_TIME_MEMORY = 300
|
||||||
|
|
||||||
SERVICE_SAY = 'say'
|
SERVICE_SAY = 'say'
|
||||||
@ -53,7 +52,6 @@ ATTR_CACHE = 'cache'
|
|||||||
_RE_VOICE_FILE = re.compile(r"([a-f0-9]{40})_([a-z]+)\.[a-z0-9]{3,4}")
|
_RE_VOICE_FILE = re.compile(r"([a-f0-9]{40})_([a-z]+)\.[a-z0-9]{3,4}")
|
||||||
|
|
||||||
PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({
|
||||||
vol.Optional(CONF_LANG, default=DEFAULT_LANG): cv.string,
|
|
||||||
vol.Optional(CONF_CACHE, default=DEFAULT_CACHE): cv.boolean,
|
vol.Optional(CONF_CACHE, default=DEFAULT_CACHE): cv.boolean,
|
||||||
vol.Optional(CONF_CACHE_DIR, default=DEFAULT_CACHE_DIR): cv.string,
|
vol.Optional(CONF_CACHE_DIR, default=DEFAULT_CACHE_DIR): cv.string,
|
||||||
vol.Optional(CONF_TIME_MEMORY, default=DEFAULT_TIME_MEMORY):
|
vol.Optional(CONF_TIME_MEMORY, default=DEFAULT_TIME_MEMORY):
|
||||||
@ -79,7 +77,7 @@ def async_setup(hass, config):
|
|||||||
conf = config[DOMAIN][0] if len(config.get(DOMAIN, [])) > 0 else {}
|
conf = config[DOMAIN][0] if len(config.get(DOMAIN, [])) > 0 else {}
|
||||||
use_cache = conf.get(CONF_CACHE, DEFAULT_CACHE)
|
use_cache = conf.get(CONF_CACHE, DEFAULT_CACHE)
|
||||||
cache_dir = conf.get(CONF_CACHE_DIR, DEFAULT_CACHE_DIR)
|
cache_dir = conf.get(CONF_CACHE_DIR, DEFAULT_CACHE_DIR)
|
||||||
time_memory = conf.get(CONF_TIME_MEMORY, DEFAULT_LANG)
|
time_memory = conf.get(CONF_TIME_MEMORY, DEFAULT_TIME_MEMORY)
|
||||||
|
|
||||||
yield from tts.async_init_cache(use_cache, cache_dir, time_memory)
|
yield from tts.async_init_cache(use_cache, cache_dir, time_memory)
|
||||||
except (HomeAssistantError, KeyError) as err:
|
except (HomeAssistantError, KeyError) as err:
|
||||||
@ -379,7 +377,7 @@ class Provider(object):
|
|||||||
"""Represent a single provider."""
|
"""Represent a single provider."""
|
||||||
|
|
||||||
hass = None
|
hass = None
|
||||||
language = DEFAULT_LANG
|
language = None
|
||||||
|
|
||||||
def get_tts_audio(self, message):
|
def get_tts_audio(self, message):
|
||||||
"""Load tts audio file from provider."""
|
"""Load tts audio file from provider."""
|
||||||
|
@ -10,9 +10,10 @@ import re
|
|||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import async_timeout
|
import async_timeout
|
||||||
|
import voluptuous as vol
|
||||||
import yarl
|
import yarl
|
||||||
|
|
||||||
from homeassistant.components.tts import Provider
|
from homeassistant.components.tts import Provider, PLATFORM_SCHEMA, CONF_LANG
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
|
|
||||||
REQUIREMENTS = ["gTTS-token==1.1.1"]
|
REQUIREMENTS = ["gTTS-token==1.1.1"]
|
||||||
@ -22,6 +23,21 @@ _LOGGER = logging.getLogger(__name__)
|
|||||||
GOOGLE_SPEECH_URL = "http://translate.google.com/translate_tts"
|
GOOGLE_SPEECH_URL = "http://translate.google.com/translate_tts"
|
||||||
MESSAGE_SIZE = 148
|
MESSAGE_SIZE = 148
|
||||||
|
|
||||||
|
SUPPORT_LANGUAGES = [
|
||||||
|
'af', 'sq', 'ar', 'hy', 'bn', 'ca', 'zh', 'zh-cn', 'zh-tw', 'zh-yue',
|
||||||
|
'hr', 'cs', 'da', 'nl', 'en', 'en-au', 'en-uk', 'en-us', 'eo', 'fi',
|
||||||
|
'fr', 'de', 'el', 'hi', 'hu', 'is', 'id', 'it', 'ja', 'ko', 'la', 'lv',
|
||||||
|
'mk', 'no', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sr', 'sk', 'es', 'es-es',
|
||||||
|
'es-us', 'sw', 'sv', 'ta', 'th', 'tr', 'vi', 'cy',
|
||||||
|
]
|
||||||
|
|
||||||
|
DEFAULT_LANG = 'en'
|
||||||
|
|
||||||
|
|
||||||
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
|
vol.Optional(CONF_LANG, default=DEFAULT_LANG): vol.In(SUPPORT_LANGUAGES),
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
def async_get_engine(hass, config):
|
def async_get_engine(hass, config):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user