mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Migrate tts (#22403)
* Migrate tts * Migrate tts tests * Update requirements * Fix path to demo mp3
This commit is contained in:
parent
c71e5ed588
commit
a27e821e8b
@ -63,7 +63,7 @@ class DemoMailbox(Mailbox):
|
|||||||
raise StreamError("Message not found")
|
raise StreamError("Message not found")
|
||||||
|
|
||||||
audio_path = os.path.join(
|
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:
|
with open(audio_path, 'rb') as file:
|
||||||
return file.read()
|
return file.read()
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import os
|
|||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from . import CONF_LANG, PLATFORM_SCHEMA, Provider
|
from homeassistant.components.tts import CONF_LANG, PLATFORM_SCHEMA, Provider
|
||||||
|
|
||||||
SUPPORT_LANGUAGES = [
|
SUPPORT_LANGUAGES = [
|
||||||
'en', 'de'
|
'en', 'de'
|
||||||
@ -51,7 +51,7 @@ class DemoProvider(Provider):
|
|||||||
|
|
||||||
def get_tts_audio(self, message, language, options=None):
|
def get_tts_audio(self, message, language, options=None):
|
||||||
"""Load TTS from demo."""
|
"""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:
|
try:
|
||||||
with open(filename, 'rb') as voice:
|
with open(filename, 'rb') as voice:
|
||||||
data = voice.read()
|
data = voice.read()
|
@ -16,7 +16,7 @@ from homeassistant.const import CONF_HOST, CONF_PORT
|
|||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
import homeassistant.helpers.config_validation as cv
|
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__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
@ -15,7 +15,7 @@ from homeassistant.const import CONF_API_KEY
|
|||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
import homeassistant.helpers.config_validation as cv
|
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__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
@ -15,7 +15,7 @@ from homeassistant.const import CONF_API_KEY
|
|||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
import homeassistant.helpers.config_validation as cv
|
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__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
@ -191,9 +191,6 @@ av==6.1.2
|
|||||||
# homeassistant.components.axis
|
# homeassistant.components.axis
|
||||||
axis==17
|
axis==17
|
||||||
|
|
||||||
# homeassistant.components.tts.baidu
|
|
||||||
baidu-aip==1.6.6
|
|
||||||
|
|
||||||
# homeassistant.components.modem_callerid.sensor
|
# homeassistant.components.modem_callerid.sensor
|
||||||
basicmodem==0.7
|
basicmodem==0.7
|
||||||
|
|
||||||
@ -236,7 +233,6 @@ blockchain==1.4.4
|
|||||||
# homeassistant.components.notify.aws_lambda
|
# homeassistant.components.notify.aws_lambda
|
||||||
# homeassistant.components.notify.aws_sns
|
# homeassistant.components.notify.aws_sns
|
||||||
# homeassistant.components.notify.aws_sqs
|
# homeassistant.components.notify.aws_sqs
|
||||||
# homeassistant.components.tts.amazon_polly
|
|
||||||
boto3==1.9.16
|
boto3==1.9.16
|
||||||
|
|
||||||
# homeassistant.scripts.credstash
|
# homeassistant.scripts.credstash
|
||||||
@ -991,9 +987,6 @@ pycomfoconnect==0.3
|
|||||||
# homeassistant.components.coolmaster.climate
|
# homeassistant.components.coolmaster.climate
|
||||||
pycoolmasternet==0.0.4
|
pycoolmasternet==0.0.4
|
||||||
|
|
||||||
# homeassistant.components.tts.microsoft
|
|
||||||
pycsspeechtts==1.0.2
|
|
||||||
|
|
||||||
# homeassistant.components.cups.sensor
|
# homeassistant.components.cups.sensor
|
||||||
# pycups==1.9.73
|
# pycups==1.9.73
|
||||||
|
|
||||||
|
1
tests/components/marytts/__init__.py
Normal file
1
tests/components/marytts/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
"""The tests for marytts tts platforms."""
|
@ -11,7 +11,7 @@ from homeassistant.components.media_player.const import (
|
|||||||
from tests.common import (
|
from tests.common import (
|
||||||
get_test_home_assistant, assert_setup_component, mock_service)
|
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:
|
class TestTTSMaryTTSPlatform:
|
@ -9,7 +9,7 @@ import requests
|
|||||||
|
|
||||||
import homeassistant.components.http as http
|
import homeassistant.components.http as http
|
||||||
import homeassistant.components.tts as tts
|
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 (
|
from homeassistant.components.media_player.const import (
|
||||||
SERVICE_PLAY_MEDIA, MEDIA_TYPE_MUSIC, ATTR_MEDIA_CONTENT_ID,
|
SERVICE_PLAY_MEDIA, MEDIA_TYPE_MUSIC, ATTR_MEDIA_CONTENT_ID,
|
||||||
ATTR_MEDIA_CONTENT_TYPE, DOMAIN as DOMAIN_MP)
|
ATTR_MEDIA_CONTENT_TYPE, DOMAIN as DOMAIN_MP)
|
||||||
@ -229,7 +229,7 @@ class TestTTS:
|
|||||||
"265944c108cbb00b2a621be5930513e03a0bb2cd_de_{0}_demo.mp3".format(
|
"265944c108cbb00b2a621be5930513e03a0bb2cd_de_{0}_demo.mp3".format(
|
||||||
opt_hash)))
|
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'}))
|
new_callable=PropertyMock(return_value={'voice': 'alex'}))
|
||||||
def test_setup_component_and_test_with_service_options_def(self, def_mock):
|
def test_setup_component_and_test_with_service_options_def(self, def_mock):
|
||||||
"""Set up the demo platform and call service with default options."""
|
"""Set up the demo platform and call service with default options."""
|
||||||
@ -519,7 +519,7 @@ class TestTTS:
|
|||||||
with assert_setup_component(1, tts.DOMAIN):
|
with assert_setup_component(1, tts.DOMAIN):
|
||||||
setup_component(self.hass, tts.DOMAIN, config)
|
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)):
|
'get_tts_audio', return_value=(None, None)):
|
||||||
self.hass.services.call(tts.DOMAIN, 'demo_say', {
|
self.hass.services.call(tts.DOMAIN, 'demo_say', {
|
||||||
tts.ATTR_MESSAGE: "I person is on front of your door.",
|
tts.ATTR_MESSAGE: "I person is on front of your door.",
|
||||||
@ -531,7 +531,7 @@ class TestTTS:
|
|||||||
"{}/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd" \
|
"{}/api/tts_proxy/265944c108cbb00b2a621be5930513e03a0bb2cd" \
|
||||||
"_en_-_demo.mp3".format(self.hass.config.api.base_url)
|
"_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))
|
return_value=(None, None))
|
||||||
def test_setup_component_test_with_error_on_get_tts(self, tts_mock):
|
def test_setup_component_test_with_error_on_get_tts(self, tts_mock):
|
||||||
"""Set up demo platform with wrong get_tts_audio."""
|
"""Set up demo platform with wrong get_tts_audio."""
|
||||||
|
1
tests/components/voicerss/__init__.py
Normal file
1
tests/components/voicerss/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
"""The tests for VoiceRSS tts platforms."""
|
@ -11,7 +11,7 @@ from homeassistant.setup import setup_component
|
|||||||
from tests.common import (
|
from tests.common import (
|
||||||
get_test_home_assistant, assert_setup_component, mock_service)
|
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:
|
class TestTTSVoiceRSSPlatform:
|
1
tests/components/yandextts/__init__.py
Normal file
1
tests/components/yandextts/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
"""The tests for YandexTTS tts platforms."""
|
@ -10,7 +10,7 @@ from homeassistant.components.media_player.const import (
|
|||||||
from tests.common import (
|
from tests.common import (
|
||||||
get_test_home_assistant, assert_setup_component, mock_service)
|
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:
|
class TestTTSYandexPlatform:
|
Loading…
x
Reference in New Issue
Block a user