diff options
author | Håkon Vågsether <hauk142@gmail.com> | 2021-01-05 20:38:56 +0100 |
---|---|---|
committer | Martin Braun <martin@gnuradio.org> | 2021-01-11 06:55:19 -0800 |
commit | 74c13b308a3b3dc1196f94fa99a585b5ef0d5629 (patch) | |
tree | 34257110d5001be77c3eb0f3d386b7246ac60736 | |
parent | 4bb762f1b6697d181ef4cff025e576ceec1ae796 (diff) |
grc: Accept file pointer in load_stdlib() (converter/xml.py)
Fixes test_xml_parser.py failing in the absence of lxml
Signed-off-by: Håkon Vågsether <hauk142@gmail.com>
-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) |