diff options
Diffstat (limited to 'scripts/compare_xml.py')
-rw-r--r-- | scripts/compare_xml.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/scripts/compare_xml.py b/scripts/compare_xml.py new file mode 100644 index 000000000..bec41c03a --- /dev/null +++ b/scripts/compare_xml.py @@ -0,0 +1,62 @@ +from xml.dom import minidom +import sys +import getopt + +HELP = """ + compare_xml.py [ -o file.xml ] + -f file.xml + -h - help info +""" + +enfile = "en.xml" +otherfile = "" + +try: + opts, args = getopt.getopt(sys.argv[1:], "hfo:koz", ["device="]) +except getopt.GetoptEror: + print HELP + sys.stdout.flush() + sys.exit(2) + +for opt, arg in opts: + if opt == "-h": + print HELP + sys.stdout.flush() + sys.exit() + elif opt == "-o": + otherfile = arg + elif opt == "-f": + enfile = arg + +if otherfile == "": + print HELP + exit() + +print "Comparing %s and %s" % (enfile, otherfile) +print "" + +endoc = minidom.parse(enfile) +enstrings = endoc.getElementsByTagName('string') + +otherdoc = minidom.parse(otherfile) +otherstrings = otherdoc.getElementsByTagName('string') + +for ens in enstrings: + found = False + for others in otherstrings: + if ens.attributes['name'].value == others.attributes['name'].value: + found = True + break + if found == False: + print "'%s' present in %s and not in %s" % (ens.attributes['name'].value, enfile, otherfile) + +print "" + +for others in otherstrings: + found = False + for ens in enstrings: + if ens.attributes['name'].value == others.attributes['name'].value: + found = True + break + if found == False: + print "'%s' present in %s and not in %s" % (others.attributes['name'].value, otherfile, enfile) |