misc bugfixes
- wix: added forgotten profile in gateways management - xml_tools: removed XMLClass to the 2 methods as a direct methods - plugin_xep_100 (gateways discovery): added error callback
This commit is contained in:
parent
f9bbbed6a0
commit
2f2594de6b
10 changed files with 112 additions and 91 deletions
|
|
@ -24,65 +24,62 @@ from xml.dom import minidom
|
|||
from wokkel import data_form
|
||||
import pdb
|
||||
|
||||
class XMLTools:
|
||||
"""This class help manage XML used in SàT (parameters, registration, etc) """
|
||||
"""This library help manage XML used in SàT (parameters, registration, etc) """
|
||||
|
||||
|
||||
@staticmethod
|
||||
def dataForm2xml(form):
|
||||
"""Take a data form (xep-0004, Wokkel's implementation) and convert it to a SàT xml"""
|
||||
def dataForm2xml(form):
|
||||
"""Take a data form (xep-0004, Wokkel's implementation) and convert it to a SàT xml"""
|
||||
|
||||
impl = minidom.getDOMImplementation()
|
||||
|
||||
doc = impl.createDocument(None, "form", None)
|
||||
top_element = doc.documentElement
|
||||
|
||||
#result_xml = ["<form>", "</form>"]
|
||||
if form.instructions:
|
||||
elem = doc.createElement('elem')
|
||||
elem.setAttribute('name','instructions')
|
||||
elem.setAttribute('type','text')
|
||||
text = doc.createTextNode('\n'.join(form.instructions))
|
||||
elem.appendChild(text)
|
||||
top_element.appendChild(elem)
|
||||
for field in form.fieldList:
|
||||
if field.fieldType == 'fixed':
|
||||
__field_type = 'text'
|
||||
elif field.fieldType == 'text-single':
|
||||
__field_type = "string"
|
||||
elif field.fieldType == 'text-private':
|
||||
__field_type = "password"
|
||||
elif field.fieldType == 'list-single':
|
||||
__field_type = "list"
|
||||
else:
|
||||
error (u"FIXME FIXME FIXME: Type [%s] is not managed yet by SàT" % field.fieldType)
|
||||
__field_type = "string"
|
||||
|
||||
impl = minidom.getDOMImplementation()
|
||||
elem = doc.createElement('elem')
|
||||
if field.var:
|
||||
elem.setAttribute('name', field.var)
|
||||
elem.setAttribute('type', __field_type)
|
||||
elem.setAttribute('label', field.label or "")
|
||||
if field.value:
|
||||
elem.setAttribute('value', field.value)
|
||||
top_element.appendChild(elem)
|
||||
for option in field.options:
|
||||
opt = doc.createElement('option')
|
||||
opt.setAttribute('value', option.value)
|
||||
elem.appendChild(opt)
|
||||
result = doc.toxml()
|
||||
doc.unlink()
|
||||
return result
|
||||
|
||||
doc = impl.createDocument(None, "form", None)
|
||||
top_element = doc.documentElement
|
||||
|
||||
#result_xml = ["<form>", "</form>"]
|
||||
if form.instructions:
|
||||
elem = doc.createElement('elem')
|
||||
elem.setAttribute('name','instructions')
|
||||
elem.setAttribute('type','text')
|
||||
text = doc.createTextNode('\n'.join(form.instructions))
|
||||
elem.appendChild(text)
|
||||
top_element.appendChild(elem)
|
||||
for field in form.fieldList:
|
||||
if field.fieldType == 'fixed':
|
||||
__field_type = 'text'
|
||||
elif field.fieldType == 'text-single':
|
||||
__field_type = "string"
|
||||
elif field.fieldType == 'text-private':
|
||||
__field_type = "password"
|
||||
elif field.fieldType == 'list-single':
|
||||
__field_type = "list"
|
||||
else:
|
||||
error (u"FIXME FIXME FIXME: Type [%s] is not managed yet by SàT" % field.fieldType)
|
||||
__field_type = "string"
|
||||
|
||||
elem = doc.createElement('elem')
|
||||
if field.var:
|
||||
elem.setAttribute('name', field.var)
|
||||
elem.setAttribute('type', __field_type)
|
||||
elem.setAttribute('label', field.label or "")
|
||||
if field.value:
|
||||
elem.setAttribute('value', field.value)
|
||||
top_element.appendChild(elem)
|
||||
for option in field.options:
|
||||
opt = doc.createElement('option')
|
||||
opt.setAttribute('value', option.value)
|
||||
elem.appendChild(opt)
|
||||
result = doc.toxml()
|
||||
doc.unlink()
|
||||
return result
|
||||
def tupleList2dataForm(values):
|
||||
"""convert a list of tuples (name,value) to a wokkel submit data form"""
|
||||
form = data_form.Form('submit')
|
||||
for value in values:
|
||||
field = data_form.Field(var=value[0], value=value[1])
|
||||
form.addField(field)
|
||||
|
||||
@staticmethod
|
||||
def tupleList2dataForm(values):
|
||||
"""convert a list of tuples (name,value) to a wokkel submit data form"""
|
||||
form = data_form.Form('submit')
|
||||
for value in values:
|
||||
field = data_form.Field(var=value[0], value=value[1])
|
||||
form.addField(field)
|
||||
|
||||
return form
|
||||
return form
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue