summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)