Reduce duplicate code in enphase_envoy (#116107)

Also converts a coro to a callback function since nothing
was being awaited
This commit is contained in:
J. Nick Koston 2024-04-24 16:58:46 +02:00 committed by GitHub
parent 169b9b0bfe
commit e47e62cbbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 7 deletions

View File

@ -46,8 +46,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
coordinator = hass.data[DOMAIN][entry.entry_id]
await coordinator.async_cleanup()
coordinator: EnphaseUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
coordinator.async_cancel_token_refresh()
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)

View File

@ -83,9 +83,7 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
def _async_mark_setup_complete(self) -> None:
"""Mark setup as complete and setup token refresh if needed."""
self._setup_complete = True
if self._cancel_token_refresh:
self._cancel_token_refresh()
self._cancel_token_refresh = None
self.async_cancel_token_refresh()
if not isinstance(self.envoy.auth, EnvoyTokenAuth):
return
self._cancel_token_refresh = async_track_time_interval(
@ -160,8 +158,9 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
raise RuntimeError("Unreachable code in _async_update_data") # pragma: no cover
async def async_cleanup(self) -> None:
"""Cleanup coordinator."""
@callback
def async_cancel_token_refresh(self) -> None:
"""Cancel token refresh."""
if self._cancel_token_refresh:
self._cancel_token_refresh()
self._cancel_token_refresh = None