From 78ac36e3fe890ff7729ec3ff467b04ecd49ce17e Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Fri, 11 Aug 2023 23:08:21 +0200 Subject: [PATCH] Improve met_eireann generic typing (#98278) --- homeassistant/components/met_eireann/__init__.py | 5 +++-- homeassistant/components/met_eireann/weather.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/met_eireann/__init__.py b/homeassistant/components/met_eireann/__init__.py index a5b096b5554..042eb6f458f 100644 --- a/homeassistant/components/met_eireann/__init__.py +++ b/homeassistant/components/met_eireann/__init__.py @@ -1,6 +1,7 @@ """The met_eireann component.""" from datetime import timedelta import logging +from typing import Self import meteireann @@ -33,7 +34,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b weather_data = MetEireannWeatherData(hass, config_entry.data, raw_weather_data) - async def _async_update_data(): + async def _async_update_data() -> MetEireannWeatherData: """Fetch data from Met Éireann.""" try: return await weather_data.fetch_data() @@ -78,7 +79,7 @@ class MetEireannWeatherData: self.daily_forecast = None self.hourly_forecast = None - async def fetch_data(self): + async def fetch_data(self) -> Self: """Fetch data from API - (current weather and forecast).""" await self._weather_data.fetching_data() self.current_weather_data = self._weather_data.get_current_weather() diff --git a/homeassistant/components/met_eireann/weather.py b/homeassistant/components/met_eireann/weather.py index 1356dbe0c24..e31951ea8a2 100644 --- a/homeassistant/components/met_eireann/weather.py +++ b/homeassistant/components/met_eireann/weather.py @@ -22,9 +22,13 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.update_coordinator import CoordinatorEntity +from homeassistant.helpers.update_coordinator import ( + CoordinatorEntity, + DataUpdateCoordinator, +) from homeassistant.util import dt as dt_util +from . import MetEireannWeatherData from .const import CONDITION_MAP, DEFAULT_NAME, DOMAIN, FORECAST_MAP _LOGGER = logging.getLogger(__name__) @@ -54,7 +58,9 @@ async def async_setup_entry( ) -class MetEireannWeather(CoordinatorEntity, WeatherEntity): +class MetEireannWeather( + CoordinatorEntity[DataUpdateCoordinator[MetEireannWeatherData]], WeatherEntity +): """Implementation of a Met Éireann weather condition.""" _attr_attribution = "Data provided by Met Éireann"