Adjust tts default_options type hints (#90053)

* Adjust tts default_options type hints

* Improve other components

* Adjust

* Revert component changes

* Adjust get_tts_audio in amazon_polly
This commit is contained in:
epenet 2023-03-27 11:00:23 +02:00 committed by GitHub
parent 8c519e1abb
commit 94a52d5cca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 9 deletions

View File

@ -2,7 +2,7 @@
from __future__ import annotations
import logging
from typing import Final
from typing import Any, Final
import boto3
import botocore
@ -166,8 +166,8 @@ class AmazonPollyProvider(Provider):
def get_tts_audio(
self,
message: str,
language: str | None = None,
options: dict[str, str] | None = None,
language: str,
options: dict[str, Any] | None = None,
) -> TtsAudioType:
"""Request TTS file from Polly."""
if options is None or language is None:

View File

@ -2,6 +2,7 @@
from __future__ import annotations
import asyncio
from collections.abc import Mapping
import functools as ft
import hashlib
from http import HTTPStatus
@ -380,11 +381,12 @@ class SpeechManager:
raise HomeAssistantError(f"Not supported language {language}")
# Options
if provider.default_options and options:
merged_options = provider.default_options.copy()
if (default_options := provider.default_options) and options:
merged_options = dict(default_options)
merged_options.update(options)
options = merged_options
options = options or provider.default_options
if not options:
options = None if default_options is None else dict(default_options)
if options is not None:
supported_options = provider.supported_options or []
@ -665,8 +667,8 @@ class Provider:
return None
@property
def default_options(self) -> dict[str, Any] | None:
"""Return a dict include default options."""
def default_options(self) -> Mapping[str, Any] | None:
"""Return a mapping with the default options."""
return None
def get_tts_audio(

View File

@ -2366,7 +2366,7 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
),
TypeHintMatch(
function_name="default_options",
return_type=["dict[str, Any]", None],
return_type=["Mapping[str, Any]", None],
),
TypeHintMatch(
function_name="get_tts_audio",