From 614d6e929d9e4a2cb4efc56c2ff577ca530a3957 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 16 Aug 2023 22:11:27 +0200 Subject: [PATCH] Map meteoclimatic weather condition codes once (#98514) --- homeassistant/components/meteoclimatic/const.py | 5 +++++ homeassistant/components/meteoclimatic/weather.py | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/meteoclimatic/const.py b/homeassistant/components/meteoclimatic/const.py index 4de299f1cf7..4a7276d4e42 100644 --- a/homeassistant/components/meteoclimatic/const.py +++ b/homeassistant/components/meteoclimatic/const.py @@ -54,3 +54,8 @@ CONDITION_CLASSES = { ATTR_CONDITION_WINDY: [], ATTR_CONDITION_WINDY_VARIANT: [], } +CONDITION_MAP = { + cond_code: cond_ha + for cond_ha, cond_codes in CONDITION_CLASSES.items() + for cond_code in cond_codes +} diff --git a/homeassistant/components/meteoclimatic/weather.py b/homeassistant/components/meteoclimatic/weather.py index d275707488b..f9b341cf114 100644 --- a/homeassistant/components/meteoclimatic/weather.py +++ b/homeassistant/components/meteoclimatic/weather.py @@ -12,14 +12,13 @@ from homeassistant.helpers.update_coordinator import ( DataUpdateCoordinator, ) -from .const import ATTRIBUTION, CONDITION_CLASSES, DOMAIN, MANUFACTURER, MODEL +from .const import ATTRIBUTION, CONDITION_MAP, DOMAIN, MANUFACTURER, MODEL def format_condition(condition): - """Return condition from dict CONDITION_CLASSES.""" - for key, value in CONDITION_CLASSES.items(): - if condition in value: - return key + """Return condition from dict CONDITION_MAP.""" + if condition in CONDITION_MAP: + return CONDITION_MAP[condition] if isinstance(condition, Condition): return condition.value return condition