Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits: 4ad90deb by lovetox at 2021-11-01T22:14:26+01:00 Bookmarks: Add annotations
- - - - -
2 changed files:
- nbxmpp/modules/bookmarks/native_bookmarks.py - nbxmpp/modules/bookmarks/util.py
Changes:
===================================== nbxmpp/modules/bookmarks/native_bookmarks.py ===================================== @@ -17,7 +17,8 @@
from nbxmpp.namespaces import Namespace from nbxmpp.protocol import NodeProcessed -from nbxmpp.structs import StanzaHandler +from nbxmpp.protocol import JID +from nbxmpp.structs import BookmarkData, StanzaHandler from nbxmpp.task import iq_request_task from nbxmpp.errors import MalformedStanzaError from nbxmpp.modules.base import BaseModule @@ -105,7 +106,7 @@ class NativeBookmarks(BaseModule): yield bookmarks
@iq_request_task - def retract_bookmark(self, bookmark_jid): + def retract_bookmark(self, bookmark_jid: JID): task = yield
self._log.info('Retract Bookmark: %s', bookmark_jid) @@ -114,7 +115,7 @@ class NativeBookmarks(BaseModule): yield finalize(task, result)
@iq_request_task - def store_bookmarks(self, bookmarks): + def store_bookmarks(self, bookmarks: list[BookmarkData]): _task = yield
self._log.info('Store Bookmarks')
===================================== nbxmpp/modules/bookmarks/util.py ===================================== @@ -15,6 +15,9 @@ # You should have received a copy of the GNU General Public License # along with this program; If not, see http://www.gnu.org/licenses/.
+import logging +from typing import Optional + from nbxmpp.protocol import Node from nbxmpp.protocol import validate_resourcepart from nbxmpp.protocol import JID @@ -26,7 +29,7 @@ from nbxmpp.errors import MalformedStanzaError from nbxmpp.structs import BookmarkData
-def parse_nickname(nick): +def parse_nickname(nick: Optional[str]) -> Optional[str]: if nick is None: return None
@@ -36,7 +39,7 @@ def parse_nickname(nick): return None
-def parse_autojoin(autojoin): +def parse_autojoin(autojoin: Optional[str]) -> bool: if autojoin is None: return False
@@ -46,7 +49,7 @@ def parse_autojoin(autojoin): return False
-def parse_bookmark(item): +def parse_bookmark(item: Node) -> BookmarkData: conference = item.getTag('conference', namespace=Namespace.BOOKMARKS_1) if conference is None: raise MalformedStanzaError('conference node missing', item) @@ -73,7 +76,7 @@ def parse_bookmark(item): extensions=extensions)
-def parse_bookmarks(item, log): +def parse_bookmarks(item: Node, log: logging.Logger) -> list[BookmarkData]: storage_node = item.getTag('storage', namespace=Namespace.BOOKMARKS) if storage_node is None: raise MalformedStanzaError('storage node missing', item) @@ -81,7 +84,8 @@ def parse_bookmarks(item, log): return parse_storage_node(storage_node, log)
-def parse_private_bookmarks(response, log): +def parse_private_bookmarks(response: Node, + log: logging.Logger) -> list[BookmarkData]: query = response.getQuery() storage_node = query.getTag('storage', namespace=Namespace.BOOKMARKS) if storage_node is None: @@ -90,8 +94,8 @@ def parse_private_bookmarks(response, log): return parse_storage_node(storage_node, log)
-def parse_storage_node(storage, log): - bookmarks = [] +def parse_storage_node(storage: Node, log: logging.Logger) -> list[BookmarkData]: + bookmarks: list[BookmarkData] = [] confs = storage.getTags('conference') for conf in confs: try: @@ -120,7 +124,7 @@ def parse_storage_node(storage, log): return bookmarks
-def build_conference_node(bookmark): +def build_conference_node(bookmark: BookmarkData): attrs = {'xmlns': Namespace.BOOKMARKS_1} if bookmark.autojoin: attrs['autojoin'] = 'true' @@ -134,7 +138,7 @@ def build_conference_node(bookmark): return conference
-def build_storage_node(bookmarks): +def build_storage_node(bookmarks: list[BookmarkData]): storage_node = Node(tag='storage', attrs={'xmlns': Namespace.BOOKMARKS}) for bookmark in bookmarks: conf_node = storage_node.addChild(name="conference")
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/4ad90deb394bf56a85988a17d...