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 __future__ import annotations
|
||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
from async_timeout import timeout
|
from async_timeout import timeout
|
||||||
from pynina import ApiError, Nina
|
from pynina import ApiError, Nina
|
||||||
@ -63,7 +62,9 @@ class NinaWarningData:
|
|||||||
is_valid: bool
|
is_valid: bool
|
||||||
|
|
||||||
|
|
||||||
class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
class NINADataUpdateCoordinator(
|
||||||
|
DataUpdateCoordinator[dict[str, list[NinaWarningData]]]
|
||||||
|
):
|
||||||
"""Class to manage fetching NINA data API."""
|
"""Class to manage fetching NINA data API."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@ -72,7 +73,6 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
|||||||
"""Initialize."""
|
"""Initialize."""
|
||||||
self._regions: dict[str, str] = regions
|
self._regions: dict[str, str] = regions
|
||||||
self._nina: Nina = Nina(async_get_clientsession(hass))
|
self._nina: Nina = Nina(async_get_clientsession(hass))
|
||||||
self.warnings: dict[str, Any] = {}
|
|
||||||
self.corona_filter: bool = corona_filter
|
self.corona_filter: bool = corona_filter
|
||||||
|
|
||||||
for region in regions:
|
for region in regions:
|
||||||
@ -80,7 +80,7 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
|||||||
|
|
||||||
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=SCAN_INTERVAL)
|
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."""
|
"""Update data."""
|
||||||
async with timeout(10):
|
async with timeout(10):
|
||||||
try:
|
try:
|
||||||
@ -89,10 +89,10 @@ class NINADataUpdateCoordinator(DataUpdateCoordinator):
|
|||||||
raise UpdateFailed(err) from err
|
raise UpdateFailed(err) from err
|
||||||
return self._parse_data()
|
return self._parse_data()
|
||||||
|
|
||||||
def _parse_data(self) -> dict[str, Any]:
|
def _parse_data(self) -> dict[str, list[NinaWarningData]]:
|
||||||
"""Parse warning data."""
|
"""Parse warning data."""
|
||||||
|
|
||||||
return_data: dict[str, Any] = {}
|
return_data: dict[str, list[NinaWarningData]] = {}
|
||||||
|
|
||||||
for region_id, raw_warnings in self._nina.warnings.items():
|
for region_id, raw_warnings in self._nina.warnings.items():
|
||||||
warnings_for_regions: list[NinaWarningData] = []
|
warnings_for_regions: list[NinaWarningData] = []
|
||||||
|
@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||||
|
|
||||||
from . import NINADataUpdateCoordinator, NinaWarningData
|
from . import NINADataUpdateCoordinator
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_DESCRIPTION,
|
ATTR_DESCRIPTION,
|
||||||
ATTR_EXPIRES,
|
ATTR_EXPIRES,
|
||||||
@ -75,7 +75,7 @@ class NINAMessage(CoordinatorEntity[NINADataUpdateCoordinator], BinarySensorEnti
|
|||||||
if not len(self.coordinator.data[self._region]) > self._warning_index:
|
if not len(self.coordinator.data[self._region]) > self._warning_index:
|
||||||
return False
|
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
|
return data.is_valid
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ class NINAMessage(CoordinatorEntity[NINADataUpdateCoordinator], BinarySensorEnti
|
|||||||
if not self.is_on:
|
if not self.is_on:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
data: NinaWarningData = self.coordinator.data[self._region][self._warning_index]
|
data = self.coordinator.data[self._region][self._warning_index]
|
||||||
|
|
||||||
return {
|
return {
|
||||||
ATTR_HEADLINE: data.headline,
|
ATTR_HEADLINE: data.headline,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user