summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHåkon Vågsether <hauk142@gmail.com>2021-01-05 20:38:56 +0100
committerMartin Braun <martin@gnuradio.org>2021-01-11 06:55:19 -0800
commit74c13b308a3b3dc1196f94fa99a585b5ef0d5629 (patch)
tree34257110d5001be77c3eb0f3d386b7246ac60736
parent4bb762f1b6697d181ef4cff025e576ceec1ae796 (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.py7
-rw-r--r--grc/tests/test_xml_parser.py2
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)