From 354641a3ce5a295ab67ba4c8bf7169d10a835f36 Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Tue, 30 Aug 2011 22:44:19 -0700 Subject: [PATCH] added publish-options element --- sleekxmpp/plugins/xep_0060/stanza/pubsub.py | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py index 7a61a9f..4967e1a 100644 --- a/sleekxmpp/plugins/xep_0060/stanza/pubsub.py +++ b/sleekxmpp/plugins/xep_0060/stanza/pubsub.py @@ -243,6 +243,31 @@ class Options(ElementBase): registerStanzaPlugin(Pubsub, Options) registerStanzaPlugin(Subscribe, Options) +class PublishOptions(ElementBase): + namespace = 'http://jabber.org/protocol/pubsub' + name = 'publish-options' + plugin_attrib = 'publish_options' + interfaces = set(('publish_options')) + plugin_attrib_map = {} + plugin_tag_map = {} + + def get_publish_options(self): + config = self.xml.find('{jabber:x:data}x') + form = xep_0004.Form() + if config is not None: + form.fromXML(config) + return form + + def set_publish_options(self, value): + self.xml.append(value.getXML()) + return self + + def del_publish_options(self): + config = self.xml.find('{jabber:x:data}x') + self.xml.remove(config) + +registerStanzaPlugin(Pubsub, PublishOptions) + class PubsubState(ElementBase): namespace = 'http://jabber.org/protocol/psstate' name = 'state'