Skip to content

Commit b3188df

Browse files
authored
Merge pull request #301 from mpsonntag/versionConv
Drop VersionConverter broken XML file support LGTM
2 parents 804ccb5 + 3dafab5 commit b3188df

1 file changed

Lines changed: 7 additions & 21 deletions

File tree

odml/tools/version_converter.py

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,42 +24,28 @@ class VersionConverter(object):
2424
'dtype': 'type'
2525
}
2626

27-
_error_strings = {
28-
'<B0>': ''
29-
}
30-
3127
def __init__(self, filename):
3228
self.filename = filename
3329
self.conversion_log = []
3430

3531
def _parse_xml(self):
3632
"""
37-
_parse_xml checks whether the provided file object can be parsed,
38-
fixes known mismatching elements and returns the parsed lxml tree.
33+
_parse_xml checks whether the provided file object can be parsed
34+
and returns the parsed lxml tree.
3935
:return: ElementTree
4036
"""
37+
# Make pretty print available by resetting format
38+
parser = ET.XMLParser(remove_blank_text=True)
4139
if isinstance(self.filename, io.StringIO):
4240
doc = self.filename.getvalue()
41+
tree = ET.ElementTree(ET.fromstring(doc, parser))
42+
4343
elif os.path.exists(self.filename) and os.path.getsize(self.filename) > 0:
44-
with open(self.filename, 'r+') as file:
45-
doc = file.read()
44+
tree = ET.parse(self.filename, parser)
4645
else:
4746
msg = "Cannot parse provided file object '%s'." % self.filename
4847
raise Exception(msg)
4948

50-
# Fix known mismatching elements
51-
for elem, val in self._error_strings.items():
52-
if elem in doc:
53-
doc = doc.replace(elem, val)
54-
55-
# Make sure encoding is present for the xml parser
56-
if sys.version_info.major > 2:
57-
doc = doc.encode('utf-8')
58-
59-
# Make pretty print available by resetting format
60-
parser = ET.XMLParser(remove_blank_text=True)
61-
tree = ET.ElementTree(ET.fromstring(doc, parser))
62-
6349
return tree
6450

6551
def _parse_json(self):

0 commit comments

Comments
 (0)