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

Commits:

4 changed files:

Changes:

  • gajim/common/connection.py
    ... ... @@ -113,12 +113,6 @@ def _unregister_new_handlers(self, con):
    113 113
                 con.UnregisterHandler(*handler)
    
    114 114
             self.handlers_registered = False
    
    115 115
     
    
    116
    -    def dispatch(self, event, data):
    
    117
    -        """
    
    118
    -        Always passes account name as first param
    
    119
    -        """
    
    120
    -        app.ged.raise_event(event, self.name, data)
    
    121
    -
    
    122 116
         def get_module(self, name):
    
    123 117
             return modules.get(self.name, name)
    
    124 118
     
    

  • gajim/common/ged.py
    ... ... @@ -22,12 +22,19 @@
    22 22
     :license: GPL
    
    23 23
     '''
    
    24 24
     
    
    25
    +from __future__ import annotations
    
    26
    +
    
    27
    +from typing import Any
    
    28
    +from typing import Callable
    
    29
    +
    
    25 30
     import logging
    
    26 31
     import traceback
    
    27 32
     import inspect
    
    28 33
     
    
    29 34
     from nbxmpp import NodeProcessed
    
    30 35
     
    
    36
    +from gajim.common.nec import NetworkEvent
    
    37
    +
    
    31 38
     log = logging.getLogger('gajim.c.ged')
    
    32 39
     
    
    33 40
     PRECORE = 10
    
    ... ... @@ -54,12 +61,20 @@
    54 61
     OUT_CORE = 100
    
    55 62
     OUT_POSTCORE = 110
    
    56 63
     
    
    64
    +
    
    65
    +HandlerFuncT = Callable[[NetworkEvent], Any]
    
    66
    +
    
    67
    +
    
    57 68
     class GlobalEventsDispatcher:
    
    58 69
     
    
    59 70
         def __init__(self):
    
    60
    -        self.handlers = {}
    
    71
    +        self.handlers: dict[str, list[tuple[int, HandlerFuncT]]] = {}
    
    72
    +
    
    73
    +    def register_event_handler(self,
    
    74
    +                               event_name: str,
    
    75
    +                               priority: int,
    
    76
    +                               handler: HandlerFuncT) -> None:
    
    61 77
     
    
    62
    -    def register_event_handler(self, event_name, priority, handler):
    
    63 78
             if event_name in self.handlers:
    
    64 79
                 handlers_list = self.handlers[event_name]
    
    65 80
                 i = 0
    
    ... ... @@ -74,7 +89,11 @@ def register_event_handler(self, event_name, priority, handler):
    74 89
             else:
    
    75 90
                 self.handlers[event_name] = [(priority, handler)]
    
    76 91
     
    
    77
    -    def remove_event_handler(self, event_name, priority, handler):
    
    92
    +    def remove_event_handler(self,
    
    93
    +                             event_name: str,
    
    94
    +                             priority: int,
    
    95
    +                             handler: HandlerFuncT) -> None:
    
    96
    +
    
    78 97
             if event_name in self.handlers:
    
    79 98
                 try:
    
    80 99
                     self.handlers[event_name].remove((priority, handler))
    
    ... ... @@ -84,7 +103,8 @@ def remove_event_handler(self, event_name, priority, handler):
    84 103
                         registered as handler of event "%s". Couldn\'t remove.
    
    85 104
                         Error: %s''', handler, priority, event_name, error)
    
    86 105
     
    
    87
    -    def raise_event(self, event_name, *args, **kwargs):
    
    106
    +    def raise_event(self, event_name: str, event_obj: NetworkEvent) -> Any:
    
    107
    +
    
    88 108
             log.debug('Raise event: %s', event_name)
    
    89 109
             if event_name in self.handlers:
    
    90 110
                 node_processed = False
    
    ... ... @@ -98,7 +118,7 @@ def raise_event(self, event_name, *args, **kwargs):
    98 118
                                       handler.__self__)
    
    99 119
                         else:
    
    100 120
                             log.debug('Call handler %s', handler.__name__)
    
    101
    -                    if handler(*args, **kwargs):
    
    121
    +                    if handler(event_obj):
    
    102 122
                             return True
    
    103 123
                     except NodeProcessed:
    
    104 124
                         node_processed = True
    

  • gajim/common/storage/archive.py
    ... ... @@ -182,10 +182,6 @@ def _migrate(self) -> None:
    182 182
                 ]
    
    183 183
                 self._execute_multiple(statements)
    
    184 184
     
    
    185
    -    @staticmethod
    
    186
    -    def dispatch(event, error):
    
    187
    -        app.ged.raise_event(event, None, str(error))
    
    188
    -
    
    189 185
         @staticmethod
    
    190 186
         def _get_timeout() -> int:
    
    191 187
             """
    

  • pyrightconfig.json
    ... ... @@ -11,6 +11,6 @@
    11 11
         ],
    
    12 12
         "typeCheckingMode": "strict",
    
    13 13
         "include": [
    
    14
    -        "gajim/gtk/chat_page.py"
    
    14
    +        "gajim/gtk/chat_filter.py"
    
    15 15
         ],
    
    16 16
     }