summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sleekxmpp/stanza/error.py8
-rw-r--r--sleekxmpp/stanza/stream_error.py4
2 files changed, 9 insertions, 3 deletions
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)