mirror of https://github.com/home-assistant/core
38 lines
1.1 KiB
Python
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))
|