Add a force_remote_bookmarks option

This commit is contained in:
mathieui 2015-02-21 22:04:03 +01:00
parent 60231c27c7
commit 2583b6a934
No known key found for this signature in database
GPG key ID: C59F84CEEFD616E3
4 changed files with 30 additions and 4 deletions

View file

@ -127,6 +127,10 @@ use_bookmarks_method =
# possible values are: anything/false # possible values are: anything/false
use_remote_bookmarks = true use_remote_bookmarks = true
# Force the retrieval of the remote bookmarks even when the server
# doesn't advertise support for your method
force_remote_bookmarks = false
# Whether you want all bookmarks, even those without # Whether you want all bookmarks, even those without
# autojoin, to be open on startup # autojoin, to be open on startup
open_all_bookmarks = false open_all_bookmarks = false

View file

@ -348,6 +348,14 @@ to understand what is :ref:`carbons <carbons-details>` or
sender intended it as such. See :ref:`Message Correction <correct-feature>` for sender intended it as such. See :ref:`Message Correction <correct-feature>` for
more information. more information.
force_remote_bookmarks
**Default value:** ``false``
Try to retrieve your remote bookmarks, even when your server doesnt advertise
support.
use_bookmark_method use_bookmark_method
**Default value:** ``[empty]`` **Default value:** ``[empty]``

View file

@ -243,13 +243,26 @@ class BookmarkList(object):
def get_remote(self, xmpp, information, callback): def get_remote(self, xmpp, information, callback):
"""Add the remotely stored bookmarks to the list.""" """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') information(_('No remote bookmark storage available'), 'Warning')
return return
if self.preferred == 'privatexml':
self.get_privatexml(xmpp, callback=callback) if force and not any(self.available_storage.values()):
else: 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) self.get_pep(xmpp, callback=callback)
else:
self.get_privatexml(xmpp, callback=callback)
def get_local(self): def get_local(self):
"""Add the locally stored bookmarks to the list.""" """Add the locally stored bookmarks to the list."""

View file

@ -62,6 +62,7 @@ DEFAULT_CONFIG = {
'extract_inline_images': True, 'extract_inline_images': True,
'filter_info_messages': '', 'filter_info_messages': '',
'force_encryption': True, 'force_encryption': True,
'force_remote_bookmarks': False,
'go_to_previous_tab_on_alt_number': False, 'go_to_previous_tab_on_alt_number': False,
'group_corrections': True, 'group_corrections': True,
'hide_exit_join': -1, 'hide_exit_join': -1,