Move XEP-0004 to new system.
This commit is contained in:
parent
a104cd6dae
commit
be363e0b46
@ -6,6 +6,17 @@
|
|||||||
See the file LICENSE for copying permission.
|
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 Form
|
||||||
from sleekxmpp.plugins.xep_0004.stanza import FormField, FieldOption
|
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
|
||||||
|
@ -6,29 +6,27 @@
|
|||||||
See the file LICENSE for copying permission.
|
See the file LICENSE for copying permission.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import copy
|
|
||||||
|
|
||||||
from sleekxmpp.thirdparty import OrderedDict
|
|
||||||
|
|
||||||
from sleekxmpp import Message
|
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.handler import Callback
|
||||||
from sleekxmpp.xmlstream.matcher import StanzaPath
|
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 import stanza
|
||||||
from sleekxmpp.plugins.xep_0004.stanza import Form, FormField, FieldOption
|
from sleekxmpp.plugins.xep_0004.stanza import Form, FormField, FieldOption
|
||||||
|
|
||||||
|
|
||||||
class xep_0004(base_plugin):
|
class XEP_0004(BasePlugin):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
XEP-0004: Data Forms
|
XEP-0004: Data Forms
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def plugin_init(self):
|
name = 'xep_0004'
|
||||||
self.xep = '0004'
|
description = 'XEP-0004: Data Forms'
|
||||||
self.description = 'Data Forms'
|
dependencies = set(['xep_0030'])
|
||||||
self.stanza = stanza
|
stanza = stanza
|
||||||
|
|
||||||
|
def plugin_init(self):
|
||||||
self.xmpp.registerHandler(
|
self.xmpp.registerHandler(
|
||||||
Callback('Data Form',
|
Callback('Data Form',
|
||||||
StanzaPath('message/form'),
|
StanzaPath('message/form'),
|
||||||
@ -38,6 +36,8 @@ class xep_0004(base_plugin):
|
|||||||
register_stanza_plugin(Form, FormField, iterable=True)
|
register_stanza_plugin(Form, FormField, iterable=True)
|
||||||
register_stanza_plugin(Message, Form)
|
register_stanza_plugin(Message, Form)
|
||||||
|
|
||||||
|
self.xmpp['xep_0030'].add_feature('jabber:x:data')
|
||||||
|
|
||||||
def make_form(self, ftype='form', title='', instructions=''):
|
def make_form(self, ftype='form', title='', instructions=''):
|
||||||
f = Form()
|
f = Form()
|
||||||
f['type'] = ftype
|
f['type'] = ftype
|
||||||
@ -45,16 +45,8 @@ class xep_0004(base_plugin):
|
|||||||
f['instructions'] = instructions
|
f['instructions'] = instructions
|
||||||
return f
|
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):
|
def handle_form(self, message):
|
||||||
self.xmpp.event("message_xform", message)
|
self.xmpp.event("message_xform", message)
|
||||||
|
|
||||||
def build_form(self, xml):
|
def build_form(self, xml):
|
||||||
return Form(xml=xml)
|
return Form(xml=xml)
|
||||||
|
|
||||||
|
|
||||||
xep_0004.makeForm = xep_0004.make_form
|
|
||||||
xep_0004.buildForm = xep_0004.build_form
|
|
||||||
|
Loading…
Reference in New Issue
Block a user