diff options
author | mathieui <mathieui@mathieui.net> | 2021-01-29 17:56:51 +0100 |
---|---|---|
committer | Link Mauve <linkmauve@linkmauve.fr> | 2021-02-03 15:22:09 +0100 |
commit | 19b58d86f5c8e9cc761f0e1e0f85be32016e4235 (patch) | |
tree | acf4ebff3500011316860f1a2bc64ba57e74f260 /poezio/tabs | |
parent | f2aaba982b9a13b0362909c6703c8ba3211b88e5 (diff) | |
download | poezio-19b58d86f5c8e9cc761f0e1e0f85be32016e4235.tar.gz poezio-19b58d86f5c8e9cc761f0e1e0f85be32016e4235.tar.bz2 poezio-19b58d86f5c8e9cc761f0e1e0f85be32016e4235.tar.xz poezio-19b58d86f5c8e9cc761f0e1e0f85be32016e4235.zip |
bookmarks: get rid of callbacks
Diffstat (limited to 'poezio/tabs')
-rw-r--r-- | poezio/tabs/bookmarkstab.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/poezio/tabs/bookmarkstab.py b/poezio/tabs/bookmarkstab.py index c4fdadd3..a953c750 100644 --- a/poezio/tabs/bookmarkstab.py +++ b/poezio/tabs/bookmarkstab.py @@ -2,9 +2,12 @@ Defines the data-forms Tab """ +import asyncio import logging from typing import Dict, Callable, List +from slixmpp.exceptions import IqError, IqTimeout + from poezio import windows from poezio.bookmarks import Bookmark, BookmarkList from poezio.core.structs import Command @@ -89,17 +92,21 @@ class BookmarksTab(Tab): 'Error') return + for bm in self.removed_bookmarks: if bm in self.bookmarks: self.bookmarks.remove(bm) - def send_cb(success): - if success: - self.core.information('Bookmarks saved', 'Info') - else: - self.core.information('Remote bookmarks not saved.', 'Error') + asyncio.ensure_future( + self.save_routine() + ) - self.bookmarks.save(self.core.xmpp, callback=send_cb) + async def save_routine(self): + try: + await self.bookmarks.save(self.core.xmpp) + self.core.information('Bookmarks saved', 'Info') + except (IqError, IqTimeout): + self.core.information('Remote bookmarks not saved.', 'Error') self.core.close_tab(self) return True |