Remove undo_listener
variable in AccuWeather integration (#52032)
This commit is contained in:
parent
01a26f1348
commit
2aed268fb7
6 changed files with 11 additions and 34 deletions
|
@ -16,13 +16,7 @@ from homeassistant.core import HomeAssistant
|
|||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
|
||||
from .const import (
|
||||
ATTR_FORECAST,
|
||||
CONF_FORECAST,
|
||||
COORDINATOR,
|
||||
DOMAIN,
|
||||
UNDO_UPDATE_LISTENER,
|
||||
)
|
||||
from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -45,12 +39,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
)
|
||||
await coordinator.async_config_entry_first_refresh()
|
||||
|
||||
undo_listener = entry.add_update_listener(update_listener)
|
||||
entry.async_on_unload(entry.add_update_listener(update_listener))
|
||||
|
||||
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = {
|
||||
COORDINATOR: coordinator,
|
||||
UNDO_UPDATE_LISTENER: undo_listener,
|
||||
}
|
||||
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
|
||||
|
||||
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
|
||||
|
||||
|
@ -61,8 +52,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||
"""Unload a config entry."""
|
||||
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
|
||||
|
||||
hass.data[DOMAIN][entry.entry_id][UNDO_UPDATE_LISTENER]()
|
||||
|
||||
if unload_ok:
|
||||
hass.data[DOMAIN].pop(entry.entry_id)
|
||||
|
||||
|
|
|
@ -48,12 +48,10 @@ ATTR_LABEL: Final = "label"
|
|||
ATTR_UNIT_IMPERIAL: Final = "unit_imperial"
|
||||
ATTR_UNIT_METRIC: Final = "unit_metric"
|
||||
CONF_FORECAST: Final = "forecast"
|
||||
COORDINATOR: Final = "coordinator"
|
||||
DOMAIN: Final = "accuweather"
|
||||
MANUFACTURER: Final = "AccuWeather, Inc."
|
||||
MAX_FORECAST_DAYS: Final = 4
|
||||
NAME: Final = "AccuWeather"
|
||||
UNDO_UPDATE_LISTENER: Final = "undo_update_listener"
|
||||
|
||||
CONDITION_CLASSES: Final[dict[str, list[int]]] = {
|
||||
ATTR_CONDITION_CLEAR_NIGHT: [33, 34, 37],
|
||||
|
|
|
@ -28,7 +28,6 @@ from .const import (
|
|||
ATTR_UNIT_IMPERIAL,
|
||||
ATTR_UNIT_METRIC,
|
||||
ATTRIBUTION,
|
||||
COORDINATOR,
|
||||
DOMAIN,
|
||||
FORECAST_SENSOR_TYPES,
|
||||
MANUFACTURER,
|
||||
|
@ -46,9 +45,7 @@ async def async_setup_entry(
|
|||
"""Add AccuWeather entities from a config_entry."""
|
||||
name: str = entry.data[CONF_NAME]
|
||||
|
||||
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id][
|
||||
COORDINATOR
|
||||
]
|
||||
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
sensors: list[AccuWeatherSensor] = []
|
||||
for sensor in SENSOR_TYPES:
|
||||
|
|
|
@ -8,7 +8,7 @@ from accuweather.const import ENDPOINT
|
|||
from homeassistant.components import system_health
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
|
||||
from .const import COORDINATOR, DOMAIN
|
||||
from .const import DOMAIN
|
||||
|
||||
|
||||
@callback
|
||||
|
@ -21,8 +21,8 @@ def async_register(
|
|||
|
||||
async def system_health_info(hass: HomeAssistant) -> dict[str, Any]:
|
||||
"""Get info for the info page."""
|
||||
remaining_requests = list(hass.data[DOMAIN].values())[0][
|
||||
COORDINATOR
|
||||
remaining_requests = list(hass.data[DOMAIN].values())[
|
||||
0
|
||||
].accuweather.requests_remaining
|
||||
|
||||
return {
|
||||
|
|
|
@ -31,7 +31,6 @@ from .const import (
|
|||
ATTR_FORECAST,
|
||||
ATTRIBUTION,
|
||||
CONDITION_CLASSES,
|
||||
COORDINATOR,
|
||||
DOMAIN,
|
||||
MANUFACTURER,
|
||||
NAME,
|
||||
|
@ -46,9 +45,7 @@ async def async_setup_entry(
|
|||
"""Add a AccuWeather weather entity from a config_entry."""
|
||||
name: str = entry.data[CONF_NAME]
|
||||
|
||||
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id][
|
||||
COORDINATOR
|
||||
]
|
||||
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
|
||||
|
||||
async_add_entities([AccuWeatherEntity(name, coordinator)])
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ from unittest.mock import Mock
|
|||
|
||||
from aiohttp import ClientError
|
||||
|
||||
from homeassistant.components.accuweather.const import COORDINATOR, DOMAIN
|
||||
from homeassistant.components.accuweather.const import DOMAIN
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
from tests.common import get_system_health_info
|
||||
|
@ -18,9 +18,7 @@ async def test_accuweather_system_health(hass, aioclient_mock):
|
|||
|
||||
hass.data[DOMAIN] = {}
|
||||
hass.data[DOMAIN]["0123xyz"] = {}
|
||||
hass.data[DOMAIN]["0123xyz"][COORDINATOR] = Mock(
|
||||
accuweather=Mock(requests_remaining="42")
|
||||
)
|
||||
hass.data[DOMAIN]["0123xyz"] = Mock(accuweather=Mock(requests_remaining="42"))
|
||||
|
||||
info = await get_system_health_info(hass, DOMAIN)
|
||||
|
||||
|
@ -42,9 +40,7 @@ async def test_accuweather_system_health_fail(hass, aioclient_mock):
|
|||
|
||||
hass.data[DOMAIN] = {}
|
||||
hass.data[DOMAIN]["0123xyz"] = {}
|
||||
hass.data[DOMAIN]["0123xyz"][COORDINATOR] = Mock(
|
||||
accuweather=Mock(requests_remaining="0")
|
||||
)
|
||||
hass.data[DOMAIN]["0123xyz"] = Mock(accuweather=Mock(requests_remaining="0"))
|
||||
|
||||
info = await get_system_health_info(hass, DOMAIN)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue