comparison plugins/plugin_xep_0077.py @ 33:b9bb5d8e0cc7

In-band-registration: data form 2 xml conversion
author Goffi <goffi@goffi.org>
date Tue, 08 Dec 2009 09:54:44 +0100
parents d6b613764dd7
children c45deebb40a5
comparison
equal deleted inserted replaced
32:c4badbf3dd97 33:b9bb5d8e0cc7
21 21
22 from logging import debug, info, error 22 from logging import debug, info, error
23 from twisted.words.protocols.jabber import client, jid, xmlstream, error 23 from twisted.words.protocols.jabber import client, jid, xmlstream, error
24 from twisted.words.protocols.jabber.xmlstream import IQ 24 from twisted.words.protocols.jabber.xmlstream import IQ
25 from twisted.internet import reactor 25 from twisted.internet import reactor
26 from tools.xml_tools import XMLTools
26 import pdb 27 import pdb
28
29 from wokkel import data_form
27 30
28 NS_REG = 'jabber:iq:register' 31 NS_REG = 'jabber:iq:register'
29 32
30 PLUGIN_INFO = { 33 PLUGIN_INFO = {
31 "name": "XEP 0077 Plugin", 34 "name": "XEP 0077 Plugin",
44 host.bridge.addMethod("in_band_register", ".communication", in_sign='s', out_sign='s', method=self.in_band_register) 47 host.bridge.addMethod("in_band_register", ".communication", in_sign='s', out_sign='s', method=self.in_band_register)
45 48
46 def reg_ok(self, answer): 49 def reg_ok(self, answer):
47 """Called after the first get IQ""" 50 """Called after the first get IQ"""
48 print "answer:",answer 51 print "answer:",answer
52 form = data_form.Form.fromElement(answer.firstChildElement().firstChildElement())
53 xml_data = XMLTools.dataForm2xml(form)
54 self.host.bridge.actionResult("FORM", answer['id'], {"type":"registration", "xml":xml_data})
49 55
50 def reg_err(self, failure): 56 def reg_err(self, failure):
51 """Called when something is wrong with registration""" 57 """Called when something is wrong with registration"""
52 info ("Registration failure: %s" % str(failure.value)) 58 info ("Registration failure: %s" % str(failure.value))
53 answer_data = {} 59 answer_data = {}