diff options
author | mathieui <mathieui@mathieui.net> | 2015-02-21 22:04:03 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2015-02-21 22:04:03 +0100 |
commit | 2583b6a934fb9b9f4cbe3e669787101b991cd1d5 (patch) | |
tree | 4f718f169289da9cd64674c91da26b49a872a24f /src/bookmarks.py | |
parent | 60231c27c7f2d7c7258d2144fd3dae99bf846047 (diff) | |
download | poezio-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.py | 21 |
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.""" |