From 40d3802f31ffbc1f48689a7bbb3087bda1c52f35 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 20 Mar 2013 15:09:09 -0400 Subject: migrate_perms_to_mode.py: gracefully handle unparseable XML files --- tools/upgrade/1.3/migrate_perms_to_mode.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'tools/upgrade') diff --git a/tools/upgrade/1.3/migrate_perms_to_mode.py b/tools/upgrade/1.3/migrate_perms_to_mode.py index ff3fe91c0..a5e045750 100755 --- a/tools/upgrade/1.3/migrate_perms_to_mode.py +++ b/tools/upgrade/1.3/migrate_perms_to_mode.py @@ -24,7 +24,12 @@ def writefile(f, xdata): def convertinfo(ifile): """Do perms -> mode conversion for info.xml files.""" - xdata = lxml.etree.parse(ifile) + try: + xdata = lxml.etree.parse(ifile) + except lxml.etree.XMLSyntaxError: + err = sys.exc_info()[1] + print("Could not parse %s, skipping: %s" % (ifile, err)) + return found = False for i in xdata.findall('//Info'): found = setmodeattr(i) @@ -34,7 +39,12 @@ def convertinfo(ifile): def convertstructure(structfile): """Do perms -> mode conversion for structure files.""" - xdata = lxml.etree.parse(structfile) + try: + xdata = lxml.etree.parse(structfile) + except lxml.etree.XMLSyntaxError: + err = sys.exc_info()[1] + print("Could not parse %s, skipping: %s" % (structfile, err)) + return found = False for path in xdata.xpath('//BoundPath|//Path'): found = setmodeattr(path) -- cgit v1.2.3-1-g7c22