diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-31 14:55:37 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-31 14:55:37 -0700 |
commit | 46f23f73482fcd1e1b71eda9ec6d42803f6c7d1a (patch) | |
tree | f527f243bf1ca96fd4266b178925ed5ecc276262 /sleekxmpp/plugins | |
parent | 09252baa71819a967ade7370416e9bb9767f69d2 (diff) | |
download | slixmpp-46f23f73482fcd1e1b71eda9ec6d42803f6c7d1a.tar.gz slixmpp-46f23f73482fcd1e1b71eda9ec6d42803f6c7d1a.tar.bz2 slixmpp-46f23f73482fcd1e1b71eda9ec6d42803f6c7d1a.tar.xz slixmpp-46f23f73482fcd1e1b71eda9ec6d42803f6c7d1a.zip |
Test publishng an item with options.
Diffstat (limited to 'sleekxmpp/plugins')
-rw-r--r-- | sleekxmpp/plugins/xep_0060/pubsub.py | 5 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0060/stanza/pubsub.py | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sleekxmpp/plugins/xep_0060/pubsub.py b/sleekxmpp/plugins/xep_0060/pubsub.py index cb6cbacd..fadcf652 100644 --- a/sleekxmpp/plugins/xep_0060/pubsub.py +++ b/sleekxmpp/plugins/xep_0060/pubsub.py @@ -283,7 +283,8 @@ class xep_0060(base_plugin): return iq.send(block=block, callback=callback, timeout=timeout) def publish(self, jid, node, item_id=None, payload=None, items=None, - ifrom=None, block=True, callback=None, timeout=None): + options=None, ifrom=None, block=True, callback=None, + timeout=None): """ Add or edit items in a node. @@ -304,6 +305,8 @@ class xep_0060(base_plugin): item['id'] = id item['payload'] = payload iq['pubsub']['publish'].append(item) + if options is not None: + iq['pubsub']['publish_options'] = options return iq.send(block=block, callback=callback, timeout=timeout) def retract(self, jid, node, item, ifrom=None, block=True, diff --git a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py index 139992e3..6a9a3df9 100644 --- a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py +++ b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py @@ -257,12 +257,16 @@ class PublishOptions(ElementBase): return form def set_publish_options(self, value): - self.xml.append(value.getXML()) + if value is None: + del self['publish_options'] + else: + self.xml.append(value.getXML()) return self def del_publish_options(self): config = self.xml.find('{jabber:x:data}x') - self.xml.remove(config) + if config is not None: + self.xml.remove(config) registerStanzaPlugin(Pubsub, PublishOptions) |