Commit c13ae1b9 authored by Link Mauve's avatar Link Mauve

Print the error given by the server when /bookmark fails.

parent 2428084c
...@@ -449,14 +449,9 @@ class CommandCore: ...@@ -449,14 +449,9 @@ class CommandCore:
if password: if password:
bookmark.password = password bookmark.password = password
def callback(iq):
if iq["type"] != "error":
self.core.information('Bookmark added.', 'Info')
else:
self.core.information("Could not add the bookmarks.", "Info")
self.core.bookmarks.save_local() self.core.bookmarks.save_local()
self.core.bookmarks.save_remote(self.core.xmpp, callback) self.core.bookmarks.save_remote(self.core.xmpp,
self.core.handler.on_bookmark_result)
def _add_wildcard_bookmarks(self, method): def _add_wildcard_bookmarks(self, method):
new_bookmarks = [] new_bookmarks = []
...@@ -471,16 +466,9 @@ class CommandCore: ...@@ -471,16 +466,9 @@ class CommandCore:
self.core.bookmarks.remove(bookmark) self.core.bookmarks.remove(bookmark)
new_bookmarks.extend(self.core.bookmarks.bookmarks) new_bookmarks.extend(self.core.bookmarks.bookmarks)
self.core.bookmarks.set(new_bookmarks) self.core.bookmarks.set(new_bookmarks)
def _cb(iq):
if iq["type"] != "error":
self.core.information("Bookmarks saved.", "Info")
else:
self.core.information("Could not save the remote bookmarks.",
"Info")
self.core.bookmarks.save_local() self.core.bookmarks.save_local()
self.core.bookmarks.save_remote(self.core.xmpp, _cb) self.core.bookmarks.save_remote(self.core.xmpp,
self.core.handler.on_bookmark_result)
@command_args_parser.ignored @command_args_parser.ignored
def bookmarks(self): def bookmarks(self):
......
...@@ -891,16 +891,20 @@ class HandlerCore: ...@@ -891,16 +891,20 @@ class HandlerCore:
_composing_tab_state(tab, state) _composing_tab_state(tab, state)
self.core.refresh_tab_win() self.core.refresh_tab_win()
@staticmethod
def _format_error(error):
error_condition = error['condition']
error_text = error['text']
return '%s: %s' % (error_condition,
error_text) if error_text else error_condition
def on_version_result(self, iq): def on_version_result(self, iq):
""" """
Handle the result of a /version command. Handle the result of a /version command.
""" """
jid = iq['from'] jid = iq['from']
if iq['type'] == 'error': if iq['type'] == 'error':
error_condition = iq['error']['condition'] reply = self._format_error(iq['error'])
error_text = iq['error']['text']
reply = '%s: %s' % (error_condition,
error_text) if error_text else error_condition
return self.core.information( return self.core.information(
'Could not get the software ' 'Could not get the software '
'version from %s: %s' % (jid, reply), 'Warning') 'version from %s: %s' % (jid, reply), 'Warning')
...@@ -911,6 +915,16 @@ class HandlerCore: ...@@ -911,6 +915,16 @@ class HandlerCore:
'an unknown platform')) 'an unknown platform'))
self.core.information(version, 'Info') self.core.information(version, 'Info')
def on_bookmark_result(self, iq):
"""
Handle the result of a /bookmark commands.
"""
if iq['type'] == 'error':
reply = self._format_error(iq['error'])
return self.core.information(
'Could not set the remote bookmarks: %s' % reply, 'Warning')
self.core.information('Bookmarks saved', 'Info')
### subscription-related handlers ### ### subscription-related handlers ###
def on_roster_update(self, iq): def on_roster_update(self, iq):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment