Migrate tts (#22403)

* Migrate tts

* Migrate tts tests

* Update requirements

* Fix path to demo mp3
This commit is contained in:
cgtobi 2019-03-26 15:34:16 +01:00 committed by Paulus Schoutsen
parent c71e5ed588
commit a27e821e8b
18 changed files with 16 additions and 20 deletions

View file

@ -63,7 +63,7 @@ class DemoMailbox(Mailbox):
raise StreamError("Message not found")
audio_path = os.path.join(
os.path.dirname(__file__), '..', 'tts', 'demo.mp3')
os.path.dirname(__file__), 'tts.mp3')
with open(audio_path, 'rb') as file:
return file.read()

View file

@ -8,7 +8,7 @@ import os
import voluptuous as vol
from . import CONF_LANG, PLATFORM_SCHEMA, Provider
from homeassistant.components.tts import CONF_LANG, PLATFORM_SCHEMA, Provider
SUPPORT_LANGUAGES = [
'en', 'de'
@ -51,7 +51,7 @@ class DemoProvider(Provider):
def get_tts_audio(self, message, language, options=None):
"""Load TTS from demo."""
filename = os.path.join(os.path.dirname(__file__), 'demo.mp3')
filename = os.path.join(os.path.dirname(__file__), 'tts.mp3')
try:
with open(filename, 'rb') as voice:
data = voice.read()

View file

@ -16,7 +16,7 @@ from homeassistant.const import CONF_HOST, CONF_PORT
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from . import CONF_LANG, PLATFORM_SCHEMA, Provider
from homeassistant.components.tts import CONF_LANG, PLATFORM_SCHEMA, Provider
_LOGGER = logging.getLogger(__name__)

View file

@ -15,7 +15,7 @@ from homeassistant.const import CONF_API_KEY
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from . import CONF_LANG, PLATFORM_SCHEMA, Provider
from homeassistant.components.tts import CONF_LANG, PLATFORM_SCHEMA, Provider
_LOGGER = logging.getLogger(__name__)

View file

@ -15,7 +15,7 @@ from homeassistant.const import CONF_API_KEY
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from . import CONF_LANG, PLATFORM_SCHEMA, Provider
from homeassistant.components.tts import CONF_LANG, PLATFORM_SCHEMA, Provider
_LOGGER = logging.getLogger(__name__)

View file

@ -191,9 +191,6 @@ av==6.1.2
# homeassistant.components.axis
axis==17
# homeassistant.components.tts.baidu
baidu-aip==1.6.6
# homeassistant.components.modem_callerid.sensor
basicmodem==0.7
@ -236,7 +233,6 @@ blockchain==1.4.4
# homeassistant.components.notify.aws_lambda
# homeassistant.components.notify.aws_sns
# homeassistant.components.notify.aws_sqs
# homeassistant.components.tts.amazon_polly
boto3==1.9.16
# homeassistant.scripts.credstash
@ -991,9 +987,6 @@ pycomfoconnect==0.3
# homeassistant.components.coolmaster.climate
pycoolmasternet==0.0.4
# homeassistant.components.tts.microsoft
pycsspeechtts==1.0.2
# homeassistant.components.cups.sensor
# pycups==1.9.73

View file

@ -0,0 +1 @@
"""The tests for marytts tts platforms."""

View file

@ -11,7 +11,7 @@ from homeassistant.components.media_player.const import (
from tests.common import (
get_test_home_assistant, assert_setup_component, mock_service)
from .test_init import mutagen_mock # noqa
from tests.components.tts.test_init import mutagen_mock # noqa
class TestTTSMaryTTSPlatform:

View file

@ -9,7 +9,7 @@ import requests
import homeassistant.components.http as http
import homeassistant.components.tts as tts
from homeassistant.components.tts.demo import DemoProvider
from homeassistant.components.demo.tts import DemoProvider
from homeassistant.components.media_player.const import (
SERVICE_PLAY_MEDIA, MEDIA_TYPE_MUSIC, ATTR_MEDIA_CONTENT_ID,
ATTR_MEDIA_CONTENT_TYPE, DOMAIN as DOMAIN_MP)
@ -229,7 +229,7 @@ class TestTTS:
"265944c108cbb00b2a621be5930513e03a0bb2cd_de_{0}_demo.mp3".format(
opt_hash)))
@patch('homeassistant.components.tts.demo.DemoProvider.default_options',
@patch('homeassistant.components.demo.tts.DemoProvider.default_options',
new_callable=PropertyMock(return_value={'voice': 'alex'}))
def test_setup_component_and_test_with_service_options_def(self, def_mock):
"""Set up the demo platform and call service with default options."""
@ -519,7 +519,7 @@ class TestTTS:
with assert_setup_component(1, tts.DOMAIN):
setup_component(self.hass, tts.DOMAIN, config)
with patch('homeassistant.components.tts.demo.DemoProvider.'
with patch('homeassistant.components.demo.tts.DemoProvider.'
'get_tts_audio', return_value=(None, None)):
self.hass.services.call(tts.DOMAIN, 'demo_say', {
tts.ATTR_MESSAGE: "I person is on front of your door.",
@ -531,7 +531,7 @@ class TestTTS:
"{}/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd" \
"_en_-_demo.mp3".format(self.hass.config.api.base_url)
@patch('homeassistant.components.tts.demo.DemoProvider.get_tts_audio',
@patch('homeassistant.components.demo.tts.DemoProvider.get_tts_audio',
return_value=(None, None))
def test_setup_component_test_with_error_on_get_tts(self, tts_mock):
"""Set up demo platform with wrong get_tts_audio."""

View file

@ -0,0 +1 @@
"""The tests for VoiceRSS tts platforms."""

View file

@ -11,7 +11,7 @@ from homeassistant.setup import setup_component
from tests.common import (
get_test_home_assistant, assert_setup_component, mock_service)
from .test_init import mutagen_mock # noqa
from tests.components.tts.test_init import mutagen_mock # noqa
class TestTTSVoiceRSSPlatform:

View file

@ -0,0 +1 @@
"""The tests for YandexTTS tts platforms."""

View file

@ -10,7 +10,7 @@ from homeassistant.components.media_player.const import (
from tests.common import (
get_test_home_assistant, assert_setup_component, mock_service)
from .test_init import mutagen_mock # noqa
from tests.components.tts.test_init import mutagen_mock # noqa
class TestTTSYandexPlatform: