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