From 617e8dd8a5a1eb38239ba0d3c119706b1a607a80 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 25 Jan 2024 19:14:44 -1000 Subject: [PATCH] Small cleanup to entity platform translation fetching (#108890) * Small cleanup to entity platform translation fetching While I could not realize the performance improvemnet I had hoped in #108800, I pulled this out since its a nice cleanup to avoid constructing the inner function over and over. * stale docstring --- homeassistant/helpers/entity_platform.py | 48 ++++++++++++------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/homeassistant/helpers/entity_platform.py b/homeassistant/helpers/entity_platform.py index b9336a62e6e..7cf7ab62495 100644 --- a/homeassistant/helpers/entity_platform.py +++ b/homeassistant/helpers/entity_platform.py @@ -390,6 +390,22 @@ class EntityPlatform: finally: warn_task.cancel() + async def _async_get_translations( + self, language: str, category: str, integration: str + ) -> dict[str, Any]: + """Get translations for a language, category, and integration.""" + try: + return await translation.async_get_translations( + self.hass, language, category, {integration} + ) + except Exception as err: # pylint: disable=broad-exception-caught + _LOGGER.debug( + "Could not load translations for %s", + integration, + exc_info=err, + ) + return {} + async def async_load_translations(self) -> None: """Load translations.""" hass = self.hass @@ -398,37 +414,21 @@ class EntityPlatform: if hass.config.language in languages.NATIVE_ENTITY_IDS else languages.DEFAULT_LANGUAGE ) - - async def get_translations( - language: str, category: str, integration: str - ) -> dict[str, Any]: - """Get entity translations.""" - try: - return await translation.async_get_translations( - hass, language, category, {integration} - ) - except Exception as err: # pylint: disable=broad-exception-caught - _LOGGER.debug( - "Could not load translations for %s", - integration, - exc_info=err, - ) - return {} - - self.component_translations = await get_translations( - hass.config.language, "entity_component", self.domain + config_language = hass.config.language + self.component_translations = await self._async_get_translations( + config_language, "entity_component", self.domain ) - self.platform_translations = await get_translations( - hass.config.language, "entity", self.platform_name + self.platform_translations = await self._async_get_translations( + config_language, "entity", self.platform_name ) - if object_id_language == hass.config.language: + if object_id_language == config_language: self.object_id_component_translations = self.component_translations self.object_id_platform_translations = self.platform_translations else: - self.object_id_component_translations = await get_translations( + self.object_id_component_translations = await self._async_get_translations( object_id_language, "entity_component", self.domain ) - self.object_id_platform_translations = await get_translations( + self.object_id_platform_translations = await self._async_get_translations( object_id_language, "entity", self.platform_name )