1 """The OurGroceries integration."""
3 from __future__
import annotations
5 from aiohttp
import ClientError
6 from ourgroceries
import OurGroceries
7 from ourgroceries.exceptions
import InvalidLoginException
14 from .const
import DOMAIN
15 from .coordinator
import OurGroceriesDataUpdateCoordinator
17 PLATFORMS: list[Platform] = [Platform.TODO]
21 """Set up OurGroceries from a config entry."""
23 hass.data.setdefault(DOMAIN, {})
25 og = OurGroceries(data[CONF_USERNAME], data[CONF_PASSWORD])
28 except (TimeoutError, ClientError)
as error:
29 raise ConfigEntryNotReady
from error
30 except InvalidLoginException:
34 await coordinator.async_config_entry_first_refresh()
35 hass.data[DOMAIN][entry.entry_id] = coordinator
37 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
43 """Unload a config entry."""
44 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
45 hass.data[DOMAIN].pop(entry.entry_id)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)