aboutsummaryrefslogtreecommitdiff
path: root/Tools/px4params/xmlout.py
diff options
context:
space:
mode:
authorStefan Rado <px4@sradonia.net>2014-02-18 22:34:52 +0100
committerStefan Rado <px4@sradonia.net>2014-02-18 22:34:52 +0100
commit8d41155fb66ce04834141151c4a0fa54de0b4b31 (patch)
tree27cf4a86137c793c826c280419d388ec01512569 /Tools/px4params/xmlout.py
parent55e66f5ad1fecb02bcb9782265303e20756b5cb9 (diff)
downloadpx4-firmware-8d41155fb66ce04834141151c4a0fa54de0b4b31.tar.gz
px4-firmware-8d41155fb66ce04834141151c4a0fa54de0b4b31.tar.bz2
px4-firmware-8d41155fb66ce04834141151c4a0fa54de0b4b31.zip
Rework px_process_params.py into a fully featured program.
Diffstat (limited to 'Tools/px4params/xmlout.py')
-rw-r--r--Tools/px4params/xmlout.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/Tools/px4params/xmlout.py b/Tools/px4params/xmlout.py
new file mode 100644
index 000000000..e845cd1b1
--- /dev/null
+++ b/Tools/px4params/xmlout.py
@@ -0,0 +1,26 @@
+from xml.dom.minidom import getDOMImplementation
+import codecs
+
+class XMLOutput():
+ def __init__(self, groups):
+ impl = getDOMImplementation()
+ xml_document = impl.createDocument(None, "parameters", None)
+ xml_parameters = xml_document.documentElement
+ for group in groups:
+ xml_group = xml_document.createElement("group")
+ xml_group.setAttribute("name", group.GetName())
+ xml_parameters.appendChild(xml_group)
+ for param in group.GetParams():
+ xml_param = xml_document.createElement("parameter")
+ xml_group.appendChild(xml_param)
+ for code in param.GetFieldCodes():
+ value = param.GetFieldValue(code)
+ xml_field = xml_document.createElement(code)
+ xml_param.appendChild(xml_field)
+ xml_value = xml_document.createTextNode(value)
+ xml_field.appendChild(xml_value)
+ self.xml_document = xml_document
+
+ def Save(self, filename):
+ with codecs.open(filename, 'w', 'utf-8') as f:
+ self.xml_document.writexml(f, indent=" ", addindent=" ", newl="\n")