summaryrefslogtreecommitdiff
path: root/kvmd/apps
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2024-11-02 18:06:45 +0200
committerMaxim Devaev <[email protected]>2024-11-02 18:06:52 +0200
commit0fd1174bc5354d8f69adde3218edd121e48c84f0 (patch)
tree5eb78947f32cb8405283fbc1351fae3272efd6c2 /kvmd/apps
parentd4fb640418efdb924bf30f1487acde4a675d6e2f (diff)
granularity info and minor fixes
Diffstat (limited to 'kvmd/apps')
-rw-r--r--kvmd/apps/kvmd/info/__init__.py9
-rw-r--r--kvmd/apps/kvmd/ocr.py5
-rw-r--r--kvmd/apps/kvmd/streamer.py8
-rw-r--r--kvmd/apps/kvmd/ugpio.py6
4 files changed, 28 insertions, 0 deletions
diff --git a/kvmd/apps/kvmd/info/__init__.py b/kvmd/apps/kvmd/info/__init__.py
index b346c10c..9ede5489 100644
--- a/kvmd/apps/kvmd/info/__init__.py
+++ b/kvmd/apps/kvmd/info/__init__.py
@@ -65,6 +65,15 @@ class InfoManager:
])
async def poll_state(self) -> AsyncGenerator[dict, None]:
+ # ==== Granularity table ====
+ # - system -- Partial
+ # - auth -- Partial
+ # - meta -- Partial, nullable
+ # - extras -- Partial, nullable
+ # - hw -- Partial
+ # - fan -- Partial
+ # ===========================
+
while True:
(field, value) = await self.__queue.get()
yield {field: value}
diff --git a/kvmd/apps/kvmd/ocr.py b/kvmd/apps/kvmd/ocr.py
index e110a720..367c0c80 100644
--- a/kvmd/apps/kvmd/ocr.py
+++ b/kvmd/apps/kvmd/ocr.py
@@ -129,6 +129,11 @@ class Ocr:
self.__notifier.notify()
async def poll_state(self) -> AsyncGenerator[dict, None]:
+ # ===== Granularity table =====
+ # - enabled -- Full
+ # - langs -- Partial
+ # =============================
+
while True:
await self.__notifier.wait()
yield (await self.get_state())
diff --git a/kvmd/apps/kvmd/streamer.py b/kvmd/apps/kvmd/streamer.py
index d02bf50d..08c48eb1 100644
--- a/kvmd/apps/kvmd/streamer.py
+++ b/kvmd/apps/kvmd/streamer.py
@@ -287,6 +287,14 @@ class Streamer: # pylint: disable=too-many-instance-attributes
self.__notifier.notify(self.__ST_FULL)
async def poll_state(self) -> AsyncGenerator[dict, None]:
+ # ==== Granularity table ====
+ # - features -- Full
+ # - limits -- Partial, paired with params
+ # - params -- Partial, paired with limits
+ # - streamer -- Partial, nullable
+ # - snapshot -- Partial
+ # ===========================
+
def signal_handler(*_: Any) -> None:
get_logger(0).info("Got SIGUSR2, checking the stream state ...")
self.__notifier.notify(self.__ST_STREAMER)
diff --git a/kvmd/apps/kvmd/ugpio.py b/kvmd/apps/kvmd/ugpio.py
index b5b4a621..e4735c61 100644
--- a/kvmd/apps/kvmd/ugpio.py
+++ b/kvmd/apps/kvmd/ugpio.py
@@ -271,6 +271,12 @@ class UserGpio:
self.__notifier.notify(1)
async def poll_state(self) -> AsyncGenerator[dict, None]:
+ # ==== Granularity table ====
+ # - model -- Full
+ # - state.inputs -- Partial
+ # - state.outputs -- Partial
+ # ===========================
+
prev: dict = {"inputs": {}, "outputs": {}}
while True: # pylint: disable=too-many-nested-blocks
if (await self.__notifier.wait()) > 0: