From cf8455336c6e17742f141d560e1ece70ee1c3565 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 20 Mar 2024 10:09:42 -1000 Subject: [PATCH] Small cleanup to unifiprotect subscriptions (#113901) --- homeassistant/components/unifiprotect/data.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/unifiprotect/data.py b/homeassistant/components/unifiprotect/data.py index 2a4f83b668e..c0a6d65ff7a 100644 --- a/homeassistant/components/unifiprotect/data.py +++ b/homeassistant/components/unifiprotect/data.py @@ -4,6 +4,7 @@ from __future__ import annotations from collections.abc import Callable, Generator, Iterable from datetime import datetime, timedelta +from functools import partial import logging from typing import Any, cast @@ -280,11 +281,7 @@ class ProtectData: self._hass, self._async_poll, self._update_interval ) self._subscriptions.setdefault(mac, []).append(update_callback) - - def _unsubscribe() -> None: - self.async_unsubscribe_device_id(mac, update_callback) - - return _unsubscribe + return partial(self.async_unsubscribe_device_id, mac, update_callback) @callback def async_unsubscribe_device_id( @@ -301,12 +298,10 @@ class ProtectData: @callback def _async_signal_device_update(self, device: ProtectDeviceType) -> None: """Call the callbacks for a device_id.""" - - if not self._subscriptions.get(device.mac): + if not (subscriptions := self._subscriptions.get(device.mac)): return - _LOGGER.debug("Updating device: %s (%s)", device.name, device.mac) - for update_callback in self._subscriptions[device.mac]: + for update_callback in subscriptions: update_callback(device)