mirror of
https://github.com/Andre0512/hon.git
synced 2024-11-24 07:10:15 +01:00
29 lines
805 B
Python
29 lines
805 B
Python
import logging
|
|
from contextlib import suppress
|
|
|
|
from .typedefs import HonEntityDescription, HonOptionEntityDescription, T
|
|
|
|
_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
def unique_entities(
|
|
base_entities: tuple[T, ...],
|
|
new_entities: tuple[T, ...],
|
|
) -> tuple[T, ...]:
|
|
result = list(base_entities)
|
|
existing_entities = [entity.key for entity in base_entities]
|
|
entity: HonEntityDescription
|
|
for entity in new_entities:
|
|
if entity.key not in existing_entities:
|
|
result.append(entity)
|
|
return tuple(result)
|
|
|
|
|
|
def get_readable(
|
|
description: HonOptionEntityDescription, value: float | str
|
|
) -> float | str:
|
|
if description.option_list is not None:
|
|
with suppress(ValueError):
|
|
return description.option_list.get(int(value), value)
|
|
return value
|