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