diff --git a/sleekxmpp/stanza/error.py b/sleekxmpp/stanza/error.py index 8d9266bd..60bc65bc 100644 --- a/sleekxmpp/stanza/error.py +++ b/sleekxmpp/stanza/error.py @@ -143,15 +143,19 @@ class Error(ElementBase): return self._get_sub_text('{%s}redirect' % self.condition_ns, '') def set_gone(self, value): - del self['condition'] if value: + del self['condition'] return self._set_sub_text('{%s}gone' % self.condition_ns, value) + elif self['condition'] == 'gone': + del self['condition'] def set_redirect(self, value): - del self['condition'] if value: + del self['condition'] ns = self.condition_ns return self._set_sub_text('{%s}redirect' % ns, value) + elif self['condition'] == 'redirect': + del self['condition'] def del_gone(self): self._del_sub('{%s}gone' % self.condition_ns) diff --git a/sleekxmpp/stanza/stream_error.py b/sleekxmpp/stanza/stream_error.py index 8c541da4..ed0078c9 100644 --- a/sleekxmpp/stanza/stream_error.py +++ b/sleekxmpp/stanza/stream_error.py @@ -72,10 +72,12 @@ class StreamError(Error, StanzaBase): return self._get_sub_text('{%s}see-other-host' % ns, '') def set_see_other_host(self, value): - del self['condition'] if value: + del self['condition'] ns = self.condition_ns return self._set_sub_text('{%s}see-other-host' % ns, value) + elif self['condition'] == 'see-other-host': + del self['condition'] def del_see_other_host(self): self._del_sub('{%s}see-other-host' % self.condition_ns)