Philipp Hörist pushed to branch master at gajim / gajim


Commits:
c890931a by lovetox at 2021-12-19T12:45:42+01:00
Remove unused methods

- - - - -
245c5f6a by lovetox at 2021-12-19T12:48:14+01:00
GED: Add type annotations

- - - - -
9c0fbd21 by lovetox at 2021-12-19T13:09:49+01:00
Update pyrightconfig.json

- - - - -


4 changed files:

- gajim/common/connection.py
- gajim/common/ged.py
- gajim/common/storage/archive.py
- pyrightconfig.json


Changes:

=====================================
gajim/common/connection.py
=====================================
@@ -113,12 +113,6 @@ def _unregister_new_handlers(self, con):
             con.UnregisterHandler(*handler)
         self.handlers_registered = False
 
-    def dispatch(self, event, data):
-        """
-        Always passes account name as first param
-        """
-        app.ged.raise_event(event, self.name, data)
-
     def get_module(self, name):
         return modules.get(self.name, name)
 


=====================================
gajim/common/ged.py
=====================================
@@ -22,12 +22,19 @@
 :license: GPL
 '''
 
+from __future__ import annotations
+
+from typing import Any
+from typing import Callable
+
 import logging
 import traceback
 import inspect
 
 from nbxmpp import NodeProcessed
 
+from gajim.common.nec import NetworkEvent
+
 log = logging.getLogger('gajim.c.ged')
 
 PRECORE = 10
@@ -54,12 +61,20 @@
 OUT_CORE = 100
 OUT_POSTCORE = 110
 
+
+HandlerFuncT = Callable[[NetworkEvent], Any]
+
+
 class GlobalEventsDispatcher:
 
     def __init__(self):
-        self.handlers = {}
+        self.handlers: dict[str, list[tuple[int, HandlerFuncT]]] = {}
+
+    def register_event_handler(self,
+                               event_name: str,
+                               priority: int,
+                               handler: HandlerFuncT) -> None:
 
-    def register_event_handler(self, event_name, priority, handler):
         if event_name in self.handlers:
             handlers_list = self.handlers[event_name]
             i = 0
@@ -74,7 +89,11 @@ def register_event_handler(self, event_name, priority, 
handler):
         else:
             self.handlers[event_name] = [(priority, handler)]
 
-    def remove_event_handler(self, event_name, priority, handler):
+    def remove_event_handler(self,
+                             event_name: str,
+                             priority: int,
+                             handler: HandlerFuncT) -> None:
+
         if event_name in self.handlers:
             try:
                 self.handlers[event_name].remove((priority, handler))
@@ -84,7 +103,8 @@ def remove_event_handler(self, event_name, priority, 
handler):
                     registered as handler of event "%s". Couldn\'t remove.
                     Error: %s''', handler, priority, event_name, error)
 
-    def raise_event(self, event_name, *args, **kwargs):
+    def raise_event(self, event_name: str, event_obj: NetworkEvent) -> Any:
+
         log.debug('Raise event: %s', event_name)
         if event_name in self.handlers:
             node_processed = False
@@ -98,7 +118,7 @@ def raise_event(self, event_name, *args, **kwargs):
                                   handler.__self__)
                     else:
                         log.debug('Call handler %s', handler.__name__)
-                    if handler(*args, **kwargs):
+                    if handler(event_obj):
                         return True
                 except NodeProcessed:
                     node_processed = True


=====================================
gajim/common/storage/archive.py
=====================================
@@ -182,10 +182,6 @@ def _migrate(self) -> None:
             ]
             self._execute_multiple(statements)
 
-    @staticmethod
-    def dispatch(event, error):
-        app.ged.raise_event(event, None, str(error))
-
     @staticmethod
     def _get_timeout() -> int:
         """


=====================================
pyrightconfig.json
=====================================
@@ -11,6 +11,6 @@
     ],
     "typeCheckingMode": "strict",
     "include": [
-        "gajim/gtk/chat_page.py"
+        "gajim/gtk/chat_filter.py"
     ],
 }



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/aa76df62c5fbbf339d75fb54da0492812e0d53ff...9c0fbd21bda020ebfaaacc196ce2064f2dff34fc

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/aa76df62c5fbbf339d75fb54da0492812e0d53ff...9c0fbd21bda020ebfaaacc196ce2064f2dff34fc
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to