Explorar o código

Simplify holding a reference to a background task (#190)

J. Nick Koston hai 1 ano
pai
achega
ab217dbb75
Modificáronse 2 ficheiros con 2 adicións e 19 borrados
  1. 2 2
      switchbot/devices/device.py
  2. 0 17
      switchbot/util.py

+ 2 - 2
switchbot/devices/device.py

@@ -26,7 +26,6 @@ from bleak_retry_connector import (
 from ..const import DEFAULT_RETRY_COUNT, DEFAULT_SCAN_TIMEOUT
 from ..discovery import GetSwitchbotDevices
 from ..models import SwitchBotAdvertisement
-from ..util import execute_task
 
 _LOGGER = logging.getLogger(__name__)
 
@@ -144,6 +143,7 @@ class SwitchbotBaseDevice:
         self._callbacks: list[Callable[[], None]] = []
         self._notify_future: asyncio.Future[bytearray] | None = None
         self._last_full_update: float = -PASSIVE_POLL_INTERVAL
+        self._timed_disconnect_task: asyncio.Task[None] | None = None
 
     def advertisement_changed(self, advertisement: SwitchBotAdvertisement) -> bool:
         """Check if the advertisement has changed."""
@@ -331,7 +331,7 @@ class SwitchbotBaseDevice:
             self._reset_disconnect_timer()
             return
         self._cancel_disconnect_timer()
-        execute_task(self._execute_timed_disconnect())
+        self._timed_disconnect_task = self._execute_timed_disconnect()
 
     def _cancel_disconnect_timer(self):
         """Cancel disconnect timer."""

+ 0 - 17
switchbot/util.py

@@ -1,17 +0,0 @@
-"""Library to handle connection with Switchbot."""
-
-import asyncio
-from collections.abc import Awaitable
-from typing import Any
-
-
-def execute_task(fut: Awaitable[Any]) -> None:
-    """Execute task."""
-    task = asyncio.create_task(fut)
-    tasks = [task]
-
-    def _cleanup_task(task: asyncio.Task[Any]) -> None:
-        """Cleanup task."""
-        tasks.remove(task)
-
-    task.add_done_callback(_cleanup_task)