From 3e897d030cde6dce45529a624a44ea32e1c636dc Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Wed, 2 Jan 2019 00:17:20 -0800 Subject: [PATCH] Removed premature decoding of iXML bytes --- wavinfo/wave_ixml_reader.py | 8 +++++--- wavinfo/wave_reader.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/wavinfo/wave_ixml_reader.py b/wavinfo/wave_ixml_reader.py index f08e684..bcfcd1a 100644 --- a/wavinfo/wave_ixml_reader.py +++ b/wavinfo/wave_ixml_reader.py @@ -1,4 +1,5 @@ import xml.etree.ElementTree as ET +import io class WavIXMLFormat: """ @@ -6,17 +7,18 @@ class WavIXMLFormat: """ def __init__(self, xml): self.source = xml - self.parsed = ET.fromstring(xml) + xmlBytes = io.BytesIO(xml) + self.parsed = ET.parse(xmlBytes) def _get_text_value(self, xpath): e = self.parsed.find("./" + xpath) if e is not None: return e.text - + @property def project(self): return self._get_text_value("PROJECT") - + @property def scene(self): return self._get_text_value("SCENE") diff --git a/wavinfo/wave_reader.py b/wavinfo/wave_reader.py index 6147004..ff61768 100644 --- a/wavinfo/wave_reader.py +++ b/wavinfo/wave_reader.py @@ -118,7 +118,7 @@ class WavInfoReader(): if ixml_data is None: return None - ixml_string = ixml_data.decode('utf-8') + ixml_string = ixml_data return WavIXMLFormat(ixml_string)