mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 13:47:35 +00:00
Speed up getting conversation agent languages (#119554)
Speed up getting conversation languages
This commit is contained in:
parent
836abe68c7
commit
54e6459a41
@ -127,7 +127,6 @@ async def async_get_conversation_languages(
|
|||||||
"""
|
"""
|
||||||
agent_manager = get_agent_manager(hass)
|
agent_manager = get_agent_manager(hass)
|
||||||
entity_component: EntityComponent[ConversationEntity] = hass.data[DOMAIN]
|
entity_component: EntityComponent[ConversationEntity] = hass.data[DOMAIN]
|
||||||
languages: set[str] = set()
|
|
||||||
agents: list[ConversationEntity | AbstractConversationAgent]
|
agents: list[ConversationEntity | AbstractConversationAgent]
|
||||||
|
|
||||||
if agent_id:
|
if agent_id:
|
||||||
@ -136,6 +135,10 @@ async def async_get_conversation_languages(
|
|||||||
if agent is None:
|
if agent is None:
|
||||||
raise ValueError(f"Agent {agent_id} not found")
|
raise ValueError(f"Agent {agent_id} not found")
|
||||||
|
|
||||||
|
# Shortcut
|
||||||
|
if agent.supported_languages == MATCH_ALL:
|
||||||
|
return MATCH_ALL
|
||||||
|
|
||||||
agents = [agent]
|
agents = [agent]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@ -143,11 +146,16 @@ async def async_get_conversation_languages(
|
|||||||
for info in agent_manager.async_get_agent_info():
|
for info in agent_manager.async_get_agent_info():
|
||||||
agent = agent_manager.async_get_agent(info.id)
|
agent = agent_manager.async_get_agent(info.id)
|
||||||
assert agent is not None
|
assert agent is not None
|
||||||
|
|
||||||
|
# Shortcut
|
||||||
|
if agent.supported_languages == MATCH_ALL:
|
||||||
|
return MATCH_ALL
|
||||||
|
|
||||||
agents.append(agent)
|
agents.append(agent)
|
||||||
|
|
||||||
|
languages: set[str] = set()
|
||||||
|
|
||||||
for agent in agents:
|
for agent in agents:
|
||||||
if agent.supported_languages == MATCH_ALL:
|
|
||||||
return MATCH_ALL
|
|
||||||
for language_tag in agent.supported_languages:
|
for language_tag in agent.supported_languages:
|
||||||
languages.add(language_tag)
|
languages.add(language_tag)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user