simplified AioNotifier()

This commit is contained in:
Maxim Devaev
2022-08-07 19:04:32 +03:00
parent aa630988cc
commit ec9785b4be
18 changed files with 43 additions and 54 deletions

View File

@@ -101,7 +101,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
(got, channel) = await aiomulti.queue_get_last(self.__channel_queue, 1)
if got and self.__channel != channel:
self.__channel = channel
await self._notifier.notify()
self._notifier.notify()
async def cleanup(self) -> None:
if self.__proc is not None:

View File

@@ -109,7 +109,7 @@ class Plugin(BaseUserGpioDriver):
except Exception:
raw = -1
if raw != prev_raw:
await self._notifier.notify()
self._notifier.notify()
prev_raw = raw
await asyncio.sleep(self.__state_poll)

View File

@@ -122,7 +122,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
get_logger().error("Failed Hue bulk GET request: %s", tools.efmt(err))
self.__state = dict.fromkeys(self.__state, None)
if self.__state != prev_state:
await self._notifier.notify()
self._notifier.notify()
prev_state = self.__state
await self.__update_notifier.wait(self.__state_poll)
@@ -148,7 +148,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
get_logger().error("Failed Hue PUT request to pin %s: %s", pin, tools.efmt(err))
raise GpioDriverOfflineError(self)
else:
await self.__update_notifier.notify()
self.__update_notifier.notify()
def __ensure_http_session(self) -> aiohttp.ClientSession:
if not self.__http_session:

View File

@@ -135,7 +135,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
await self.__update_power()
new = (self.__online, self.__power)
if new != prev:
await self._notifier.notify()
self._notifier.notify()
prev = new
await asyncio.sleep(self.__state_poll)

View File

@@ -76,7 +76,7 @@ class Plugin(BaseUserGpioDriver):
while True:
try:
while True:
await self._notifier.notify()
self._notifier.notify()
if os.path.isfile(self.__udc_path):
break
await asyncio.sleep(5)
@@ -84,7 +84,7 @@ class Plugin(BaseUserGpioDriver):
with Inotify() as inotify:
inotify.watch(os.path.dirname(self.__udc_path), InotifyMask.ALL_MODIFY_EVENTS)
inotify.watch(self.__profile_path, InotifyMask.ALL_MODIFY_EVENTS)
await self._notifier.notify()
self._notifier.notify()
while True:
need_restart = False
need_notify = False
@@ -97,7 +97,7 @@ class Plugin(BaseUserGpioDriver):
if need_restart:
break
if need_notify:
await self._notifier.notify()
self._notifier.notify()
except Exception:
logger.exception("Unexpected OTG-bind watcher error")
await asyncio.sleep(1)

View File

@@ -103,7 +103,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
(got, channel) = await aiomulti.queue_get_last(self.__channel_queue, 1)
if got and self.__channel != channel:
self.__channel = channel
await self._notifier.notify()
self._notifier.notify()
async def cleanup(self) -> None:
if self.__proc is not None:

View File

@@ -111,7 +111,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
except Exception:
pass
if self.__active != prev_active:
await self._notifier.notify()
self._notifier.notify()
prev_active = self.__active
await self.__update_notifier.wait(self.__state_poll)
@@ -127,7 +127,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
assert 1 <= channel <= 16
if state:
await self.__send_command("{:c}{:c}".format(1, channel).encode())
await self.__update_notifier.notify()
self.__update_notifier.notify()
await asyncio.sleep(self.__switch_delay) # Slowdown
# =====

View File

@@ -99,7 +99,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute
(got, channel) = await aiomulti.queue_get_last(self.__channel_queue, 1)
if got and self.__channel != channel:
self.__channel = channel
await self._notifier.notify()
self._notifier.notify()
async def cleanup(self) -> None:
if self.__proc is not None: