From be363e0b46681125a54e2d96f70c0c259216fee1 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Sun, 11 Mar 2012 20:56:46 -0700 Subject: [PATCH] Move XEP-0004 to new system. --- sleekxmpp/plugins/xep_0004/__init__.py | 13 ++++++++++- sleekxmpp/plugins/xep_0004/dataforms.py | 30 +++++++++---------------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/sleekxmpp/plugins/xep_0004/__init__.py b/sleekxmpp/plugins/xep_0004/__init__.py index aad4e15f..2cd18ec8 100644 --- a/sleekxmpp/plugins/xep_0004/__init__.py +++ b/sleekxmpp/plugins/xep_0004/__init__.py @@ -6,6 +6,17 @@ See the file LICENSE for copying permission. """ +from sleekxmpp.plugins.base import register_plugin + from sleekxmpp.plugins.xep_0004.stanza import Form from sleekxmpp.plugins.xep_0004.stanza import FormField, FieldOption -from sleekxmpp.plugins.xep_0004.dataforms import xep_0004 +from sleekxmpp.plugins.xep_0004.dataforms import XEP_0004 + + +register_plugin(XEP_0004) + + +# Retain some backwards compatibility +xep_0004 = XEP_0004 +xep_0004.makeForm = xep_0004.make_form +xep_0004.buildForm = xep_0004.build_form diff --git a/sleekxmpp/plugins/xep_0004/dataforms.py b/sleekxmpp/plugins/xep_0004/dataforms.py index 5414be5c..1097bd29 100644 --- a/sleekxmpp/plugins/xep_0004/dataforms.py +++ b/sleekxmpp/plugins/xep_0004/dataforms.py @@ -6,29 +6,27 @@ See the file LICENSE for copying permission. """ -import copy - -from sleekxmpp.thirdparty import OrderedDict - from sleekxmpp import Message -from sleekxmpp.xmlstream import register_stanza_plugin, ElementBase, ET +from sleekxmpp.xmlstream import register_stanza_plugin from sleekxmpp.xmlstream.handler import Callback from sleekxmpp.xmlstream.matcher import StanzaPath -from sleekxmpp.plugins.base import base_plugin +from sleekxmpp.plugins import BasePlugin from sleekxmpp.plugins.xep_0004 import stanza from sleekxmpp.plugins.xep_0004.stanza import Form, FormField, FieldOption -class xep_0004(base_plugin): +class XEP_0004(BasePlugin): + """ XEP-0004: Data Forms """ - def plugin_init(self): - self.xep = '0004' - self.description = 'Data Forms' - self.stanza = stanza + name = 'xep_0004' + description = 'XEP-0004: Data Forms' + dependencies = set(['xep_0030']) + stanza = stanza + def plugin_init(self): self.xmpp.registerHandler( Callback('Data Form', StanzaPath('message/form'), @@ -38,6 +36,8 @@ class xep_0004(base_plugin): register_stanza_plugin(Form, FormField, iterable=True) register_stanza_plugin(Message, Form) + self.xmpp['xep_0030'].add_feature('jabber:x:data') + def make_form(self, ftype='form', title='', instructions=''): f = Form() f['type'] = ftype @@ -45,16 +45,8 @@ class xep_0004(base_plugin): f['instructions'] = instructions return f - def post_init(self): - base_plugin.post_init(self) - self.xmpp.plugin['xep_0030'].add_feature('jabber:x:data') - def handle_form(self, message): self.xmpp.event("message_xform", message) def build_form(self, xml): return Form(xml=xml) - - -xep_0004.makeForm = xep_0004.make_form -xep_0004.buildForm = xep_0004.build_form