From b22830260cff4f90daad76ea187957be368a6832 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Sat, 8 Feb 2025 15:32:32 +0100 Subject: [PATCH] Explicitly pass in the config_entry in filesize coordinator (#137807) explicitly pass in the config_entry in coordinator --- homeassistant/components/filesize/__init__.py | 10 +++------- homeassistant/components/filesize/coordinator.py | 10 ++++++++-- homeassistant/components/filesize/sensor.py | 3 +-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/filesize/__init__.py b/homeassistant/components/filesize/__init__.py index 602eac1f24d..b10125de67c 100644 --- a/homeassistant/components/filesize/__init__.py +++ b/homeassistant/components/filesize/__init__.py @@ -2,19 +2,15 @@ from __future__ import annotations -from homeassistant.config_entries import ConfigEntry -from homeassistant.const import CONF_FILE_PATH from homeassistant.core import HomeAssistant from .const import PLATFORMS -from .coordinator import FileSizeCoordinator - -type FileSizeConfigEntry = ConfigEntry[FileSizeCoordinator] +from .coordinator import FileSizeConfigEntry, FileSizeCoordinator async def async_setup_entry(hass: HomeAssistant, entry: FileSizeConfigEntry) -> bool: """Set up from a config entry.""" - coordinator = FileSizeCoordinator(hass, entry.data[CONF_FILE_PATH]) + coordinator = FileSizeCoordinator(hass, entry) await coordinator.async_config_entry_first_refresh() entry.runtime_data = coordinator @@ -22,6 +18,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: FileSizeConfigEntry) -> return True -async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: +async def async_unload_entry(hass: HomeAssistant, entry: FileSizeConfigEntry) -> bool: """Unload a config entry.""" return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) diff --git a/homeassistant/components/filesize/coordinator.py b/homeassistant/components/filesize/coordinator.py index 0c2a0277434..87f59f1a53e 100644 --- a/homeassistant/components/filesize/coordinator.py +++ b/homeassistant/components/filesize/coordinator.py @@ -7,6 +7,8 @@ import logging import os import pathlib +from homeassistant.config_entries import ConfigEntry +from homeassistant.const import CONF_FILE_PATH from homeassistant.core import HomeAssistant from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed from homeassistant.util import dt as dt_util @@ -15,22 +17,26 @@ from .const import DOMAIN _LOGGER = logging.getLogger(__name__) +type FileSizeConfigEntry = ConfigEntry[FileSizeCoordinator] + class FileSizeCoordinator(DataUpdateCoordinator[dict[str, int | float | datetime]]): """Filesize coordinator.""" + config_entry: FileSizeConfigEntry path: pathlib.Path - def __init__(self, hass: HomeAssistant, unresolved_path: str) -> None: + def __init__(self, hass: HomeAssistant, config_entry: FileSizeConfigEntry) -> None: """Initialize filesize coordinator.""" super().__init__( hass, _LOGGER, + config_entry=config_entry, name=DOMAIN, update_interval=timedelta(seconds=60), always_update=False, ) - self._unresolved_path = unresolved_path + self._unresolved_path = self.config_entry.data[CONF_FILE_PATH] def _get_full_path(self) -> pathlib.Path: """Check if path is valid, allowed and return full path.""" diff --git a/homeassistant/components/filesize/sensor.py b/homeassistant/components/filesize/sensor.py index 2eb170af99d..bd8b9b6c462 100644 --- a/homeassistant/components/filesize/sensor.py +++ b/homeassistant/components/filesize/sensor.py @@ -17,9 +17,8 @@ from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import FileSizeConfigEntry from .const import DOMAIN -from .coordinator import FileSizeCoordinator +from .coordinator import FileSizeConfigEntry, FileSizeCoordinator _LOGGER = logging.getLogger(__name__)