mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Address late review of nina (#79467)
* Address review * Remove unused attribute
This commit is contained in:
parent
547a63e314
commit
7aacdec8e1
@ -2,7 +2,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Any
|
||||
|
||||
from async_timeout import timeout
|
||||
from pynina import ApiError, Nina
|
||||
@ -63,7 +62,9 @@ class NinaWarningData:
|
||||
is_valid: bool
|
||||
|
||||
|
||||
class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
||||
class NINADataUpdateCoordinator(
|
||||
DataUpdateCoordinator[dict[str, list[NinaWarningData]]]
|
||||
):
|
||||
"""Class to manage fetching NINA data API."""
|
||||
|
||||
def __init__(
|
||||
@ -72,7 +73,6 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
||||
"""Initialize."""
|
||||
self._regions: dict[str, str] = regions
|
||||
self._nina: Nina = Nina(async_get_clientsession(hass))
|
||||
self.warnings: dict[str, Any] = {}
|
||||
self.corona_filter: bool = corona_filter
|
||||
|
||||
for region in regions:
|
||||
@ -80,7 +80,7 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
||||
|
||||
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=SCAN_INTERVAL)
|
||||
|
||||
async def _async_update_data(self) -> dict[str, Any]:
|
||||
async def _async_update_data(self) -> dict[str, list[NinaWarningData]]:
|
||||
"""Update data."""
|
||||
async with timeout(10):
|
||||
try:
|
||||
@ -89,10 +89,10 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
||||
raise UpdateFailed(err) from err
|
||||
return self._parse_data()
|
||||
|
||||
def _parse_data(self) -> dict[str, Any]:
|
||||
def _parse_data(self) -> dict[str, list[NinaWarningData]]:
|
||||
"""Parse warning data."""
|
||||
|
||||
return_data: dict[str, Any] = {}
|
||||
return_data: dict[str, list[NinaWarningData]] = {}
|
||||
|
||||
for region_id, raw_warnings in self._nina.warnings.items():
|
||||
warnings_for_regions: list[NinaWarningData] = []
|
||||
|
@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
|
||||
from . import NINADataUpdateCoordinator, NinaWarningData
|
||||
from . import NINADataUpdateCoordinator
|
||||
from .const import (
|
||||
ATTR_DESCRIPTION,
|
||||
ATTR_EXPIRES,
|
||||
@ -75,7 +75,7 @@ class NINAMessage(CoordinatorEntity[NINADataUpdateCoordinator], BinarySensorEnti
|
||||
if not len(self.coordinator.data[self._region]) > self._warning_index:
|
||||
return False
|
||||
|
||||
data: NinaWarningData = self.coordinator.data[self._region][self._warning_index]
|
||||
data = self.coordinator.data[self._region][self._warning_index]
|
||||
|
||||
return data.is_valid
|
||||
|
||||
@ -85,7 +85,7 @@ class NINAMessage(CoordinatorEntity[NINADataUpdateCoordinator], BinarySensorEnti
|
||||
if not self.is_on:
|
||||
return {}
|
||||
|
||||
data: NinaWarningData = self.coordinator.data[self._region][self._warning_index]
|
||||
data = self.coordinator.data[self._region][self._warning_index]
|
||||
|
||||
return {
|
||||
ATTR_HEADLINE: data.headline,
|
||||
|
Loading…
x
Reference in New Issue
Block a user