Map meteoclimatic weather condition codes once (#98514)

This commit is contained in:
Erik Montnemery 2023-08-16 22:11:27 +02:00 committed by GitHub
parent f85c2e5a92
commit 614d6e929d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -54,3 +54,8 @@ CONDITION_CLASSES = {
ATTR_CONDITION_WINDY: [], ATTR_CONDITION_WINDY: [],
ATTR_CONDITION_WINDY_VARIANT: [], 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
}

View File

@ -12,14 +12,13 @@ from homeassistant.helpers.update_coordinator import (
DataUpdateCoordinator, DataUpdateCoordinator,
) )
from .const import ATTRIBUTION, CONDITION_CLASSES, DOMAIN, MANUFACTURER, MODEL from .const import ATTRIBUTION, CONDITION_MAP, DOMAIN, MANUFACTURER, MODEL
def format_condition(condition): def format_condition(condition):
"""Return condition from dict CONDITION_CLASSES.""" """Return condition from dict CONDITION_MAP."""
for key, value in CONDITION_CLASSES.items(): if condition in CONDITION_MAP:
if condition in value: return CONDITION_MAP[condition]
return key
if isinstance(condition, Condition): if isinstance(condition, Condition):
return condition.value return condition.value
return condition return condition