Philipp Hörist pushed to branch master at gajim / python-nbxmpp

Commits:

2 changed files:

Changes:

  • nbxmpp/modules/bookmarks/native_bookmarks.py
    ... ... @@ -17,7 +17,8 @@
    17 17
     
    
    18 18
     from nbxmpp.namespaces import Namespace
    
    19 19
     from nbxmpp.protocol import NodeProcessed
    
    20
    -from nbxmpp.structs import StanzaHandler
    
    20
    +from nbxmpp.protocol import JID
    
    21
    +from nbxmpp.structs import BookmarkData, StanzaHandler
    
    21 22
     from nbxmpp.task import iq_request_task
    
    22 23
     from nbxmpp.errors import MalformedStanzaError
    
    23 24
     from nbxmpp.modules.base import BaseModule
    
    ... ... @@ -105,7 +106,7 @@ class NativeBookmarks(BaseModule):
    105 106
             yield bookmarks
    
    106 107
     
    
    107 108
         @iq_request_task
    
    108
    -    def retract_bookmark(self, bookmark_jid):
    
    109
    +    def retract_bookmark(self, bookmark_jid: JID):
    
    109 110
             task = yield
    
    110 111
     
    
    111 112
             self._log.info('Retract Bookmark: %s', bookmark_jid)
    
    ... ... @@ -114,7 +115,7 @@ class NativeBookmarks(BaseModule):
    114 115
             yield finalize(task, result)
    
    115 116
     
    
    116 117
         @iq_request_task
    
    117
    -    def store_bookmarks(self, bookmarks):
    
    118
    +    def store_bookmarks(self, bookmarks: list[BookmarkData]):
    
    118 119
             _task = yield
    
    119 120
     
    
    120 121
             self._log.info('Store Bookmarks')
    

  • nbxmpp/modules/bookmarks/util.py
    ... ... @@ -15,6 +15,9 @@
    15 15
     # You should have received a copy of the GNU General Public License
    
    16 16
     # along with this program; If not, see <http://www.gnu.org/licenses/>.
    
    17 17
     
    
    18
    +import logging
    
    19
    +from typing import Optional
    
    20
    +
    
    18 21
     from nbxmpp.protocol import Node
    
    19 22
     from nbxmpp.protocol import validate_resourcepart
    
    20 23
     from nbxmpp.protocol import JID
    
    ... ... @@ -26,7 +29,7 @@ from nbxmpp.errors import MalformedStanzaError
    26 29
     from nbxmpp.structs import BookmarkData
    
    27 30
     
    
    28 31
     
    
    29
    -def parse_nickname(nick):
    
    32
    +def parse_nickname(nick: Optional[str]) -> Optional[str]:
    
    30 33
         if nick is None:
    
    31 34
             return None
    
    32 35
     
    
    ... ... @@ -36,7 +39,7 @@ def parse_nickname(nick):
    36 39
             return None
    
    37 40
     
    
    38 41
     
    
    39
    -def parse_autojoin(autojoin):
    
    42
    +def parse_autojoin(autojoin: Optional[str]) -> bool:
    
    40 43
         if autojoin is None:
    
    41 44
             return False
    
    42 45
     
    
    ... ... @@ -46,7 +49,7 @@ def parse_autojoin(autojoin):
    46 49
             return False
    
    47 50
     
    
    48 51
     
    
    49
    -def parse_bookmark(item):
    
    52
    +def parse_bookmark(item: Node) -> BookmarkData:
    
    50 53
         conference = item.getTag('conference', namespace=Namespace.BOOKMARKS_1)
    
    51 54
         if conference is None:
    
    52 55
             raise MalformedStanzaError('conference node missing', item)
    
    ... ... @@ -73,7 +76,7 @@ def parse_bookmark(item):
    73 76
                             extensions=extensions)
    
    74 77
     
    
    75 78
     
    
    76
    -def parse_bookmarks(item, log):
    
    79
    +def parse_bookmarks(item: Node, log: logging.Logger) -> list[BookmarkData]:
    
    77 80
         storage_node = item.getTag('storage', namespace=Namespace.BOOKMARKS)
    
    78 81
         if storage_node is None:
    
    79 82
             raise MalformedStanzaError('storage node missing', item)
    
    ... ... @@ -81,7 +84,8 @@ def parse_bookmarks(item, log):
    81 84
         return parse_storage_node(storage_node, log)
    
    82 85
     
    
    83 86
     
    
    84
    -def parse_private_bookmarks(response, log):
    
    87
    +def parse_private_bookmarks(response: Node,
    
    88
    +                            log: logging.Logger) -> list[BookmarkData]:
    
    85 89
         query = response.getQuery()
    
    86 90
         storage_node = query.getTag('storage', namespace=Namespace.BOOKMARKS)
    
    87 91
         if storage_node is None:
    
    ... ... @@ -90,8 +94,8 @@ def parse_private_bookmarks(response, log):
    90 94
         return parse_storage_node(storage_node, log)
    
    91 95
     
    
    92 96
     
    
    93
    -def parse_storage_node(storage, log):
    
    94
    -    bookmarks = []
    
    97
    +def parse_storage_node(storage: Node, log: logging.Logger) -> list[BookmarkData]:
    
    98
    +    bookmarks: list[BookmarkData] = []
    
    95 99
         confs = storage.getTags('conference')
    
    96 100
         for conf in confs:
    
    97 101
             try:
    
    ... ... @@ -120,7 +124,7 @@ def parse_storage_node(storage, log):
    120 124
         return bookmarks
    
    121 125
     
    
    122 126
     
    
    123
    -def build_conference_node(bookmark):
    
    127
    +def build_conference_node(bookmark: BookmarkData):
    
    124 128
         attrs = {'xmlns': Namespace.BOOKMARKS_1}
    
    125 129
         if bookmark.autojoin:
    
    126 130
             attrs['autojoin'] = 'true'
    
    ... ... @@ -134,7 +138,7 @@ def build_conference_node(bookmark):
    134 138
         return conference
    
    135 139
     
    
    136 140
     
    
    137
    -def build_storage_node(bookmarks):
    
    141
    +def build_storage_node(bookmarks: list[BookmarkData]):
    
    138 142
         storage_node = Node(tag='storage', attrs={'xmlns': Namespace.BOOKMARKS})
    
    139 143
         for bookmark in bookmarks:
    
    140 144
             conf_node = storage_node.addChild(name="conference")