diff options
-rw-r--r-- | grc/converter/xml.py | 7 | ||||
-rw-r--r-- | grc/tests/test_xml_parser.py | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/grc/converter/xml.py b/grc/converter/xml.py index eb5083dfbc..a3c4cb457a 100644 --- a/grc/converter/xml.py +++ b/grc/converter/xml.py @@ -50,8 +50,11 @@ def load_lxml(filename, document_type_def=None): def load_stdlib(filename, document_type_def=None): """Load block description from xml file""" - with open(filename, 'rb') as xml_file: - data = xml_file.read().decode('utf-8') + if isinstance(filename, str): + with open(filename, 'rb') as xml_file: + data = xml_file.read().decode('utf-8') + else: # Already opened + data = filename.read().decode('utf-8') try: element = etree.fromstring(data) diff --git a/grc/tests/test_xml_parser.py b/grc/tests/test_xml_parser.py index cde08b29b0..0fd5a94b3d 100644 --- a/grc/tests/test_xml_parser.py +++ b/grc/tests/test_xml_parser.py @@ -21,7 +21,7 @@ def test_flow_graph_converter(): def test_flow_graph_converter_with_fp(): filename = path.join(path.dirname(__file__), 'resources', 'test_compiler.grc') - with open(filename) as fp: + with open(filename, 'rb') as fp: data = flow_graph.from_xml(fp) flow_graph.dump(data, sys.stdout) |