From af33bc4d40d826cae6f2231c9d99ac1fcfc41e35 Mon Sep 17 00:00:00 2001 From: Amin Ben Ramdhane Date: Tue, 6 Apr 2021 18:51:03 +0100 Subject: [PATCH] Improve the XML format of Data Model file --- tools/generate_dm_xml.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/generate_dm_xml.py b/tools/generate_dm_xml.py index 44546832..5cdea413 100755 --- a/tools/generate_dm_xml.py +++ b/tools/generate_dm_xml.py @@ -8,6 +8,7 @@ import sys import getopt import bbf_common as bbf import xml.etree.ElementTree as ET +import xml.dom.minidom as MD BBF_REMOTE_DM = None BBF_VENDOR_LIST = None @@ -45,6 +46,11 @@ def print_dmxml_usage(): print(" - python " + sys.argv[0] + " -v iopsys,openwrt,test -r https://dev.iopsys.eu/feed/iopsys.git^6.0.0ALPHA1 -p X_TEST_COM_") print(" ==> Generate xml file in %s" % XML_FILE) +def pretty_format( elem ): + elem_string = ET.tostring(elem, 'UTF-8') + reparsed = MD.parseString(elem_string) + return reparsed.toprettyxml(indent=" ") + def generate_xml_file(): global DM_OBJ_COUNT global DM_PARAM_COUNT @@ -84,10 +90,10 @@ def generate_xml_file(): syntax = ET.SubElement(parameter, "syntax") ET.SubElement(syntax, ARRAY_TYPES.get(obj[2], None)) DM_PARAM_COUNT += 1 - - tree = ET.ElementTree(root) - - tree.write(XML_FILE, encoding ='UTF-8', xml_declaration = True) + + xml_file = open(XML_FILE, "w") + xml_file.write(pretty_format(root)) + xml_file.close() try: opts, args = getopt.getopt(sys.argv[1:], "hr:v:p:", ["remote-dm=", "vendor-list=", "vendor-prefix="])