Mercurial > libervia-backend
diff tools/xml_tools.py @ 102:94011f553cd0
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
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 22 Jun 2010 13:58:53 +0800 |
parents | be206a3d1a9b |
children | 6be927a465ed |
line wrap: on
line diff
--- a/tools/xml_tools.py Sat Jun 19 17:15:30 2010 +0800 +++ b/tools/xml_tools.py Tue Jun 22 13:58:53 2010 +0800 @@ -24,65 +24,62 @@ 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""" - - impl = minidom.getDOMImplementation() +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 + 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" - #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 + 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 - @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) +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