From 061c999533cd4b7c1ccdae99e06dda82ab2f7ac1 Mon Sep 17 00:00:00 2001
From: wurstsalat <mailtrash@posteo.de>
Date: Sat, 28 May 2022 20:41:52 +0200
Subject: [PATCH] chore: TaskManager: Add type annotations

---
 gajim/common/app.py          |  3 ++-
 gajim/common/task_manager.py | 14 +++++++-------
 pyrightconfig.json           |  1 +
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/gajim/common/app.py b/gajim/common/app.py
index 6ad438cedb..5fee746642 100644
--- a/gajim/common/app.py
+++ b/gajim/common/app.py
@@ -62,6 +62,7 @@
     from gajim.common.cert_store import CertificateStore
     from gajim.common.call_manager import CallManager
     from gajim.common.preview import PreviewManager
+    from gajim.common.task_manager import TaskManager
 
 
 interface = cast(types.InterfaceT, None)
@@ -112,7 +113,7 @@ def __init__(self):
 
 preview_manager = cast('PreviewManager', None)
 
-task_manager = None
+task_manager = cast('TaskManager', None)
 
 # These will be set in app.gui_interface.
 idlequeue = cast(IdleQueue, None)
diff --git a/gajim/common/task_manager.py b/gajim/common/task_manager.py
index 18b10f32df..52032d0eea 100644
--- a/gajim/common/task_manager.py
+++ b/gajim/common/task_manager.py
@@ -14,7 +14,7 @@
 
 from __future__ import annotations
 
-from typing import List
+from typing import Optional
 
 import functools
 import queue
@@ -26,16 +26,16 @@
 
 
 class TaskManager:
-    def __init__(self):
-        self._timeout = None
-        self._queue = queue.PriorityQueue()
+    def __init__(self) -> None:
+        self._timeout: Optional[int] = None
+        self._queue: queue.PriorityQueue[Task] = queue.PriorityQueue()
 
     def _start_worker(self) -> None:
         self._timeout = GLib.timeout_add_seconds(2, self._process_queue)
 
     def _process_queue(self) -> bool:
         log.info('%s tasks queued', self._queue.qsize())
-        requeue = []
+        requeue: list[Task] = []
         while not self._queue.empty():
             task = self._queue.get_nowait()
             if task.is_obsolete():
@@ -63,7 +63,7 @@ def _process_queue(self) -> bool:
         self._timeout = None
         return False
 
-    def _requeue_tasks(self, tasks: List[Task]) -> bool:
+    def _requeue_tasks(self, tasks: list[Task]) -> bool:
         if not tasks:
             return False
 
@@ -81,7 +81,7 @@ def add_task(self, task: Task) -> None:
 
 @functools.total_ordering
 class Task:
-    def __init__(self, priority: int = 0):
+    def __init__(self, priority: int = 0) -> None:
         self.priority = priority
         self._obsolete = False
 
diff --git a/pyrightconfig.json b/pyrightconfig.json
index 91388eb8e9..e2bbb49119 100644
--- a/pyrightconfig.json
+++ b/pyrightconfig.json
@@ -37,6 +37,7 @@
         "gajim/common/setting_values.py",
         "gajim/common/sound.py",
         "gajim/common/storage/",
+        "gajim/common/task_manager.py",
         "gajim/gtk/about.py",
         "gajim/gtk/account_page.py",
         "gajim/gtk/account_side_bar.py",
-- 
GitLab