Skip to content

Commit 3db4241

Browse files
committed
feat(neuroml): return output string on import failure
1 parent e9f7d5e commit 3db4241

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

netpyne_ui/helpers/neuroml.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
import sys
33
import logging
44
from netpyne.specs import simConfig
5+
from packaging import version
56

7+
import pyneuroml
68
from pyneuroml import pynml
79
from pyneuroml.lems import generate_lems_file_for_neuroml
810
from pyneuroml.pynml import read_neuroml2_file
@@ -30,11 +32,21 @@ def convertLEMSSimulation(lemsFileName, compileMod=True):
3032
% fullLemsFileName
3133
)
3234

33-
result = pynml.run_lems_with_jneuroml_netpyne(
34-
lemsFileName, only_generate_json=True, exit_on_fail=False)
35-
36-
if result == False:
37-
raise Exception("Error loading lems file")
35+
# feature to return output added in 1.0.9
36+
if version.parse(pyneuroml.__version__) >= version.parse("1.0.9"):
37+
result, output_msg = pynml.run_lems_with_jneuroml_netpyne(
38+
lemsFileName, only_generate_json=True, exit_on_fail=False,
39+
return_string=True)
40+
41+
if result is False:
42+
raise Exception(f"Error loading lems file: {output_msg}")
43+
else:
44+
result = pynml.run_lems_with_jneuroml_netpyne(
45+
lemsFileName, only_generate_json=True, exit_on_fail=False)
46+
47+
if result is False:
48+
raise Exception("Error loading lems file")
49+
3850
lems = pynml.read_lems_file(lemsFileName)
3951

4052
np_json_fname = fullLemsFileName.replace('.xml','_netpyne_data.json')

0 commit comments

Comments
 (0)