From 2eb6a03640012b8b9d318b461a453dc8f0bcf794 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Fri, 7 Feb 2025 19:38:41 +0100 Subject: [PATCH] Pass in the config_entry in azure_devops coordinator init (#137722) explicitly pass in the config_entry in azure_devops coordinator init --- homeassistant/components/azure_devops/__init__.py | 10 ++-------- homeassistant/components/azure_devops/coordinator.py | 11 +++++++---- homeassistant/components/azure_devops/sensor.py | 3 +-- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/homeassistant/components/azure_devops/__init__.py b/homeassistant/components/azure_devops/__init__.py index 9890d47fbb5..0522e9778df 100644 --- a/homeassistant/components/azure_devops/__init__.py +++ b/homeassistant/components/azure_devops/__init__.py @@ -9,9 +9,7 @@ from homeassistant.const import Platform from homeassistant.core import HomeAssistant from .const import CONF_PAT, CONF_PROJECT -from .coordinator import AzureDevOpsDataUpdateCoordinator - -type AzureDevOpsConfigEntry = ConfigEntry[AzureDevOpsDataUpdateCoordinator] +from .coordinator import AzureDevOpsConfigEntry, AzureDevOpsDataUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -22,11 +20,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AzureDevOpsConfigEntry) """Set up Azure DevOps from a config entry.""" # Create the data update coordinator - coordinator = AzureDevOpsDataUpdateCoordinator( - hass, - _LOGGER, - entry=entry, - ) + coordinator = AzureDevOpsDataUpdateCoordinator(hass, entry, _LOGGER) # Store the coordinator in runtime data entry.runtime_data = coordinator diff --git a/homeassistant/components/azure_devops/coordinator.py b/homeassistant/components/azure_devops/coordinator.py index 21fb76560c3..efbecfbcd19 100644 --- a/homeassistant/components/azure_devops/coordinator.py +++ b/homeassistant/components/azure_devops/coordinator.py @@ -28,6 +28,8 @@ from .data import AzureDevOpsData BUILDS_QUERY: Final = "?queryOrder=queueTimeDescending&maxBuildsPerDefinition=1" IGNORED_CATEGORIES: Final[list[Category]] = [Category.COMPLETED, Category.REMOVED] +type AzureDevOpsConfigEntry = ConfigEntry[AzureDevOpsDataUpdateCoordinator] + def ado_exception_none_handler(func: Callable) -> Callable: """Handle exceptions or None to always return a value or raise.""" @@ -50,28 +52,29 @@ class AzureDevOpsDataUpdateCoordinator(DataUpdateCoordinator[AzureDevOpsData]): """Class to manage and fetch Azure DevOps data.""" client: DevOpsClient + config_entry: AzureDevOpsConfigEntry organization: str project: Project def __init__( self, hass: HomeAssistant, + config_entry: AzureDevOpsConfigEntry, logger: logging.Logger, - *, - entry: ConfigEntry, ) -> None: """Initialize global Azure DevOps data updater.""" - self.title = entry.title + self.title = config_entry.title super().__init__( hass=hass, logger=logger, + config_entry=config_entry, name=DOMAIN, update_interval=timedelta(seconds=300), ) self.client = DevOpsClient(session=async_get_clientsession(hass)) - self.organization = entry.data[CONF_ORG] + self.organization = config_entry.data[CONF_ORG] @ado_exception_none_handler async def authorize( diff --git a/homeassistant/components/azure_devops/sensor.py b/homeassistant/components/azure_devops/sensor.py index fd47115214a..1d590032a85 100644 --- a/homeassistant/components/azure_devops/sensor.py +++ b/homeassistant/components/azure_devops/sensor.py @@ -21,8 +21,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.util import dt as dt_util -from . import AzureDevOpsConfigEntry -from .coordinator import AzureDevOpsDataUpdateCoordinator +from .coordinator import AzureDevOpsConfigEntry, AzureDevOpsDataUpdateCoordinator from .entity import AzureDevOpsEntity _LOGGER = logging.getLogger(__name__)