core/homeassistant/components/cookidoo/helpers.py

38 lines
1.1 KiB
Python

"""Helpers for cookidoo."""
from typing import Any
from cookidoo_api import Cookidoo, CookidooConfig, get_localization_options
from homeassistant.const import CONF_COUNTRY, CONF_EMAIL, CONF_LANGUAGE, CONF_PASSWORD
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .coordinator import CookidooConfigEntry
async def cookidoo_from_config_data(
hass: HomeAssistant, data: dict[str, Any]
) -> Cookidoo:
"""Build cookidoo from config data."""
localizations = await get_localization_options(
country=data[CONF_COUNTRY].lower(),
language=data[CONF_LANGUAGE],
)
return Cookidoo(
async_get_clientsession(hass),
CookidooConfig(
email=data[CONF_EMAIL],
password=data[CONF_PASSWORD],
localization=localizations[0],
),
)
async def cookidoo_from_config_entry(
hass: HomeAssistant, entry: CookidooConfigEntry
) -> Cookidoo:
"""Build cookidoo from config entry."""
return await cookidoo_from_config_data(hass, dict(entry.data))