summaryrefslogtreecommitdiff
path: root/src/bookmarks.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2015-02-21 22:04:03 +0100
committermathieui <mathieui@mathieui.net>2015-02-21 22:04:03 +0100
commit2583b6a934fb9b9f4cbe3e669787101b991cd1d5 (patch)
tree4f718f169289da9cd64674c91da26b49a872a24f /src/bookmarks.py
parent60231c27c7f2d7c7258d2144fd3dae99bf846047 (diff)
downloadpoezio-2583b6a934fb9b9f4cbe3e669787101b991cd1d5.tar.gz
poezio-2583b6a934fb9b9f4cbe3e669787101b991cd1d5.tar.bz2
poezio-2583b6a934fb9b9f4cbe3e669787101b991cd1d5.tar.xz
poezio-2583b6a934fb9b9f4cbe3e669787101b991cd1d5.zip
Add a force_remote_bookmarks option
Diffstat (limited to 'src/bookmarks.py')
-rw-r--r--src/bookmarks.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/bookmarks.py b/src/bookmarks.py
index 47c40576..9a875217 100644
--- a/src/bookmarks.py
+++ b/src/bookmarks.py
@@ -243,13 +243,26 @@ class BookmarkList(object):
def get_remote(self, xmpp, information, callback):
"""Add the remotely stored bookmarks to the list."""
- if xmpp.anon or not any(self.available_storage.values()):
+ force = config.get('force_remote_bookmarks')
+ if xmpp.anon or not (any(self.available_storage.values()) or force):
information(_('No remote bookmark storage available'), 'Warning')
return
- if self.preferred == 'privatexml':
- self.get_privatexml(xmpp, callback=callback)
- else:
+
+ if force and not any(self.available_storage.values()):
+ old_callback = callback
+ method = 'pep' if self.preferred == 'pep' else 'privatexml'
+ def new_callback(result):
+ if result['type'] != 'error':
+ self.available_storage[method] = True
+ old_callback(result)
+ else:
+ information(_('No remote bookmark storage available'), 'Warning')
+ callback = new_callback
+
+ if self.preferred == 'pep':
self.get_pep(xmpp, callback=callback)
+ else:
+ self.get_privatexml(xmpp, callback=callback)
def get_local(self):
"""Add the locally stored bookmarks to the list."""