summaryrefslogtreecommitdiff
path: root/poezio/tabs
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-01-29 17:56:51 +0100
committerLink Mauve <linkmauve@linkmauve.fr>2021-02-03 15:22:09 +0100
commit19b58d86f5c8e9cc761f0e1e0f85be32016e4235 (patch)
treeacf4ebff3500011316860f1a2bc64ba57e74f260 /poezio/tabs
parentf2aaba982b9a13b0362909c6703c8ba3211b88e5 (diff)
downloadpoezio-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.py19
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