26 lines
805 B
Python
26 lines
805 B
Python
|
"""Helper script to update supported languages for Microsoft Text-to-Speech (TTS)."""
|
||
|
from pathlib import Path
|
||
|
|
||
|
from lxml import html
|
||
|
import requests
|
||
|
|
||
|
from .hassfest.serializer import format_python_namespace
|
||
|
|
||
|
URL = "https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support"
|
||
|
XPATH_QUERY = "//section[@data-tab='tts']/table[1]/tbody/tr/td[1]/code/text()"
|
||
|
|
||
|
req = requests.get(URL)
|
||
|
req.raise_for_status()
|
||
|
tree = html.fromstring(req.content)
|
||
|
supported_languages_raw = tree.xpath(XPATH_QUERY)
|
||
|
supported_languages = {s.lower() for s in supported_languages_raw}
|
||
|
|
||
|
Path("homeassistant/generated/microsoft_tts.py").write_text(
|
||
|
format_python_namespace(
|
||
|
{
|
||
|
"SUPPORTED_LANGUAGES": supported_languages,
|
||
|
},
|
||
|
generator="script.microsoft_tts",
|
||
|
)
|
||
|
)
|