diff options
Diffstat (limited to 'sleekxmpp/plugins/xep_0004.py')
-rw-r--r-- | sleekxmpp/plugins/xep_0004.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/xep_0004.py b/sleekxmpp/plugins/xep_0004.py index 037fc090..86963632 100644 --- a/sleekxmpp/plugins/xep_0004.py +++ b/sleekxmpp/plugins/xep_0004.py @@ -23,6 +23,15 @@ class Form(ElementBase): sub_interfaces = set(('title',)) form_types = set(('cancel', 'form', 'result', 'submit')) + def __init__(self, *args, **kwargs): + title = None + if 'title' in kwargs: + title = kwargs['title'] + del kwargs['title'] + ElementBase.__init__(self, *args, **kwargs) + if title is not None: + self['title'] = title + def setup(self, xml=None): if ElementBase.setup(self, xml): #if we had to generate xml self['type'] = 'form' @@ -339,6 +348,13 @@ class xep_0004(base.base_plugin): registerStanzaPlugin(Form, FormField) registerStanzaPlugin(Message, Form) + def makeForm(self, ftype='form', title='', instructions=''): + f = Form() + f['type'] = ftype + f['title'] = title + f['instructions'] = instructions + return f + def post_init(self): base.base_plugin.post_init(self) self.xmpp.plugin['xep_0030'].add_feature('jabber:x:data') |