Iqvia to check bad fetch during setup (#49931)

This commit is contained in:
Paulus Schoutsen 2021-04-30 14:04:59 -07:00 committed by GitHub
parent aa8ce07e35
commit a2138a7642
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -36,15 +36,9 @@ DEFAULT_SCAN_INTERVAL = timedelta(minutes=30)
PLATFORMS = ["sensor"] PLATFORMS = ["sensor"]
async def async_setup(hass, config):
"""Set up the IQVIA component."""
hass.data[DOMAIN] = {DATA_COORDINATOR: {}}
return True
async def async_setup_entry(hass, entry): async def async_setup_entry(hass, entry):
"""Set up IQVIA as config entry.""" """Set up IQVIA as config entry."""
hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id] = {} coordinators = {}
if not entry.unique_id: if not entry.unique_id:
# If the config entry doesn't already have a unique ID, set one: # If the config entry doesn't already have a unique ID, set one:
@ -72,19 +66,18 @@ async def async_setup_entry(hass, entry):
(TYPE_DISEASE_FORECAST, client.disease.extended), (TYPE_DISEASE_FORECAST, client.disease.extended),
(TYPE_DISEASE_INDEX, client.disease.current), (TYPE_DISEASE_INDEX, client.disease.current),
]: ]:
coordinator = hass.data[DOMAIN][DATA_COORDINATOR][entry.entry_id][ coordinator = coordinators[sensor_type] = DataUpdateCoordinator(
sensor_type
] = DataUpdateCoordinator(
hass, hass,
LOGGER, LOGGER,
name=f"{entry.data[CONF_ZIP_CODE]} {sensor_type}", name=f"{entry.data[CONF_ZIP_CODE]} {sensor_type}",
update_interval=DEFAULT_SCAN_INTERVAL, update_interval=DEFAULT_SCAN_INTERVAL,
update_method=partial(async_get_data_from_api, api_coro), update_method=partial(async_get_data_from_api, api_coro),
) )
init_data_update_tasks.append(coordinator.async_refresh()) init_data_update_tasks.append(coordinator.async_config_entry_first_refresh())
await asyncio.gather(*init_data_update_tasks) await asyncio.gather(*init_data_update_tasks)
hass.data[DOMAIN].setdefault(DATA_COORDINATOR, {})[entry.entry_id] = coordinators
hass.config_entries.async_setup_platforms(entry, PLATFORMS) hass.config_entries.async_setup_platforms(entry, PLATFORMS)
return True return True