summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0004
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-03-11 20:56:46 -0700
committerLance Stout <lancestout@gmail.com>2012-03-12 19:32:19 -0700
commitbe363e0b46681125a54e2d96f70c0c259216fee1 (patch)
tree9b63ff37dc1c24d5d2232216abdf83fd45463cdf /sleekxmpp/plugins/xep_0004
parenta104cd6dae75b4785b3bdc58c944a34a32308b3e (diff)
downloadslixmpp-be363e0b46681125a54e2d96f70c0c259216fee1.tar.gz
slixmpp-be363e0b46681125a54e2d96f70c0c259216fee1.tar.bz2
slixmpp-be363e0b46681125a54e2d96f70c0c259216fee1.tar.xz
slixmpp-be363e0b46681125a54e2d96f70c0c259216fee1.zip
Move XEP-0004 to new system.
Diffstat (limited to 'sleekxmpp/plugins/xep_0004')
-rw-r--r--sleekxmpp/plugins/xep_0004/__init__.py13
-rw-r--r--sleekxmpp/plugins/xep_0004/dataforms.py30
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