updated apps
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""Normalize persisted configuration shapes to runtime mappings."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.const import CONF_ID, CONF_PATH
|
||||
|
||||
from custom_components.powercalc.const import CONF_PLAYBOOK_ID, CONF_POWER, CONF_STATE
|
||||
|
||||
|
||||
def normalize_states_power(states_power: dict[str, Any] | list[dict[str, Any]]) -> dict[str, Any]:
|
||||
"""Normalize state-power config to the runtime mapping shape."""
|
||||
if isinstance(states_power, list):
|
||||
return {item[CONF_STATE]: item[CONF_POWER] for item in states_power}
|
||||
return dict(states_power)
|
||||
|
||||
|
||||
def normalize_playbooks(playbooks: dict[str, str] | list[dict[str, str]]) -> dict[str, str]:
|
||||
"""Normalize playbook config to the runtime id-path mapping shape."""
|
||||
if isinstance(playbooks, list):
|
||||
return {item[CONF_ID]: item[CONF_PATH] for item in playbooks}
|
||||
return dict(playbooks)
|
||||
|
||||
|
||||
def normalize_state_trigger(state_trigger: dict[str, str] | list[dict[str, str]]) -> dict[str, str]:
|
||||
"""Normalize playbook state-trigger config to the runtime state-playbook mapping shape."""
|
||||
if isinstance(state_trigger, list):
|
||||
return {item[CONF_STATE]: item[CONF_PLAYBOOK_ID] for item in state_trigger}
|
||||
return dict(state_trigger)
|
||||
Reference in New Issue
Block a user