diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-31 16:03:32 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-31 16:03:32 -0700 |
commit | b68785e19ebdbf6d3eb638a0fa2b612e9b404868 (patch) | |
tree | ebce2b0ed33a7219cf903571aeaaeb782b605b6b /sleekxmpp/plugins/xep_0060/stanza | |
parent | a1bbb719e17645959899f862475a1dd28a34ed55 (diff) | |
download | slixmpp-b68785e19ebdbf6d3eb638a0fa2b612e9b404868.tar.gz slixmpp-b68785e19ebdbf6d3eb638a0fa2b612e9b404868.tar.bz2 slixmpp-b68785e19ebdbf6d3eb638a0fa2b612e9b404868.tar.xz slixmpp-b68785e19ebdbf6d3eb638a0fa2b612e9b404868.zip |
Retract stanzas are behaving oddly when using stanza values.
Diffstat (limited to 'sleekxmpp/plugins/xep_0060/stanza')
-rw-r--r-- | sleekxmpp/plugins/xep_0060/stanza/pubsub.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py index 6a9a3df9..c370aeb9 100644 --- a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py +++ b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py @@ -151,7 +151,7 @@ class Publish(Items): registerStanzaPlugin(Pubsub, Publish) -class Retract(Items): +class Retract(ElementBase): namespace = 'http://jabber.org/protocol/pubsub' name = 'retract' plugin_attrib = name @@ -160,6 +160,7 @@ class Retract(Items): plugin_tag_map = {} registerStanzaPlugin(Pubsub, Retract) +registerStanzaPlugin(Retract, Item) class Unsubscribe(ElementBase): namespace = 'http://jabber.org/protocol/pubsub' @@ -253,12 +254,14 @@ class PublishOptions(ElementBase): def get_publish_options(self): config = self.xml.find('{jabber:x:data}x') + if config is None: + return None form = xep_0004.Form(xml=config) return form def set_publish_options(self, value): if value is None: - del self['publish_options'] + self.del_publish_options() else: self.xml.append(value.getXML()) return self @@ -267,6 +270,7 @@ class PublishOptions(ElementBase): config = self.xml.find('{jabber:x:data}x') if config is not None: self.xml.remove(config) + self.parent().xml.remove(self.xml) registerStanzaPlugin(Pubsub, PublishOptions) |