OSBModelValidation 0.3.8__tar.gz → 0.3.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10/OSBModelValidation.egg-info}/PKG-INFO +1 -1
  2. {osbmodelvalidation-0.3.8/OSBModelValidation.egg-info → osbmodelvalidation-0.3.10}/PKG-INFO +1 -1
  3. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/common/inout.py +8 -26
  4. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getjnml.py +1 -0
  5. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuroml.py +10 -31
  6. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlvalidate.py +5 -1
  7. osbmodelvalidation-0.3.10/omv/engines/utils/__init__.py +27 -0
  8. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/omv_util.py +1 -3
  9. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/setup.cfg +1 -1
  10. osbmodelvalidation-0.3.8/omv/engines/utils/__init__.py +0 -21
  11. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/LICENSE.lesser +0 -0
  12. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/MANIFEST.in +0 -0
  13. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/OSBModelValidation.egg-info/SOURCES.txt +0 -0
  14. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/OSBModelValidation.egg-info/dependency_links.txt +0 -0
  15. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/OSBModelValidation.egg-info/entry_points.txt +0 -0
  16. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/OSBModelValidation.egg-info/requires.txt +0 -0
  17. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/OSBModelValidation.egg-info/top_level.txt +0 -0
  18. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/README.md +0 -0
  19. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/__init__.py +0 -0
  20. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/__init__.py +0 -0
  21. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/activation.py +0 -0
  22. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/analyzer.py +0 -0
  23. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/dryrun.py +0 -0
  24. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/input_resistance.py +0 -0
  25. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/morphology.py +0 -0
  26. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/rates.py +0 -0
  27. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/resting.py +0 -0
  28. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/spikes.py +0 -0
  29. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/temperature.py +0 -0
  30. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/timeseries.py +0 -0
  31. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/utils/__init__.py +0 -0
  32. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/utils/filenode.py +0 -0
  33. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/analyzers/utils/timeseries.py +0 -0
  34. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/autogen.py +0 -0
  35. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/common/__init__.py +0 -0
  36. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/__init__.py +0 -0
  37. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/arbor_.py +0 -0
  38. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/brian1.py +0 -0
  39. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/brian2_.py +0 -0
  40. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/eden_.py +0 -0
  41. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/engine.py +0 -0
  42. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/genesis.py +0 -0
  43. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getarbor.py +0 -0
  44. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getbrian1.py +0 -0
  45. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getbrian2.py +0 -0
  46. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/geteden.py +0 -0
  47. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getgenesis.py +0 -0
  48. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getjlems.py +0 -0
  49. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getlibsbml.py +0 -0
  50. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getmoose.py +0 -0
  51. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getnest.py +0 -0
  52. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getnetpyne.py +0 -0
  53. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getneuroconstruct.py +0 -0
  54. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getnml2.py +0 -0
  55. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getnrn.py +0 -0
  56. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getoctave.py +0 -0
  57. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getpylems.py +0 -0
  58. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getpyneuroml.py +0 -0
  59. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getpynn.py +0 -0
  60. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/getxpp.py +0 -0
  61. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jlems.py +0 -0
  62. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlbrian.py +0 -0
  63. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlbrian2.py +0 -0
  64. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromleden.py +0 -0
  65. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlmoose.py +0 -0
  66. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlnetpyne.py +0 -0
  67. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlnetpyne_np2.py +0 -0
  68. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlnetpyne_np4.py +0 -0
  69. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlnrn.py +0 -0
  70. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlpynnnrn.py +0 -0
  71. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlvalidatev1.py +0 -0
  72. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/jneuromlxpp.py +0 -0
  73. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/moose_.py +0 -0
  74. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/nestsli.py +0 -0
  75. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/netpyne_.py +0 -0
  76. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/netpyne__np2.py +0 -0
  77. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/netpyne__np4.py +0 -0
  78. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/neuron_.py +0 -0
  79. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/octave.py +0 -0
  80. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pylems.py +0 -0
  81. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pylemsnml2.py +0 -0
  82. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynest.py +0 -0
  83. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pyneuroconstruct.py +0 -0
  84. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pyneuroml_.py +0 -0
  85. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pyneuromlvalidatesbml.py +0 -0
  86. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pyneuromlxpp.py +0 -0
  87. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pyneuron.py +0 -0
  88. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynn.py +0 -0
  89. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynnbrian1.py +0 -0
  90. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynnbrian2.py +0 -0
  91. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynnnest.py +0 -0
  92. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynnneuroml.py +0 -0
  93. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/pynnneuron.py +0 -0
  94. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/utils/genesis_utils.g +0 -0
  95. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/utils/wdir.py +0 -0
  96. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/engines/xpp.py +0 -0
  97. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/experiment.py +0 -0
  98. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/find_tests.py +0 -0
  99. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/omt_mep_parser.py +0 -0
  100. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/parse_omt.py +0 -0
  101. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/mep.yaml +0 -0
  102. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/observable_datafile.yaml +0 -0
  103. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/observable_literal.yaml +0 -0
  104. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/observables.yaml +0 -0
  105. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/test/observable_datafile.yaml +0 -0
  106. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/test/observable_literal.1.yaml +0 -0
  107. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/base/test/observable_literal.3.yaml +0 -0
  108. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/expected.yaml +0 -0
  109. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/experiment.yaml +0 -0
  110. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/observable.yaml +0 -0
  111. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/protocol.yaml +0 -0
  112. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/protocol_properties.yaml +0 -0
  113. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/expected.1.yaml +0 -0
  114. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/expected.2.yaml +0 -0
  115. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/expected.3.yaml +0 -0
  116. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/expected.4.yaml +0 -0
  117. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/experiment.1.yaml +0 -0
  118. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/experiment.2.yaml +0 -0
  119. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/observable.yaml +0 -0
  120. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/protocol.1.yaml +0 -0
  121. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/schemata/types/test/protocol.2.yaml +0 -0
  122. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/tally.py +0 -0
  123. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/test/__init__.py +0 -0
  124. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/test/test_rates.py +0 -0
  125. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/test/test_types.py +0 -0
  126. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/validation/__init__.py +0 -0
  127. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/validation/rx_validator.py +0 -0
  128. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/validation/utils.py +0 -0
  129. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/validation/validate.py +0 -0
  130. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/omv/validation/validate_mep.py +0 -0
  131. {osbmodelvalidation-0.3.8 → osbmodelvalidation-0.3.10}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OSBModelValidation
3
- Version: 0.3.8
3
+ Version: 0.3.10
4
4
  Summary: Open Source Brain Model validation
5
5
  Home-page: https://github.com/OpenSourceBrain/osb-model-validation
6
6
  Author: Boris Marin, Padraig Gleeson
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OSBModelValidation
3
- Version: 0.3.8
3
+ Version: 0.3.10
4
4
  Summary: Open Source Brain Model validation
5
5
  Home-page: https://github.com/OpenSourceBrain/osb-model-validation
6
6
  Author: Boris Marin, Padraig Gleeson
@@ -1,10 +1,10 @@
1
- import yaml
2
- from collections import deque
3
1
  import os
4
- import sys
5
2
 
6
3
  # import textwrap
7
4
  import subprocess as sp
5
+ from collections import deque
6
+
7
+ import yaml
8
8
 
9
9
  LINEWIDTH = 70
10
10
  __PROMPT__ = "[omv] "
@@ -25,10 +25,7 @@ def omvify(x):
25
25
 
26
26
 
27
27
  def check(b):
28
- if sys.version_info >= (3, 0):
29
- tick = "\u2714" if b else "\u2718"
30
- else:
31
- tick = "\u2714" if b else "\u2718"
28
+ tick = "\u2714" if b else "\u2718"
32
29
  return tick
33
30
 
34
31
 
@@ -57,11 +54,7 @@ def inform(
57
54
  else:
58
55
  p = pars if pars else ""
59
56
  # print("msg is %s"%msg.__class__)
60
- msgstr = (
61
- msg.encode("utf-8")
62
- if sys.version_info[0] == 2 and isinstance(msg, unicode)
63
- else str(msg)
64
- )
57
+ msgstr = str(msg)
65
58
  infostr = msgstr + str(p)
66
59
  block = deque([infostr])
67
60
 
@@ -120,29 +113,18 @@ def check_output(cmds, cwd=".", shell=False, verbosity=0, env=None):
120
113
  return ret_string
121
114
 
122
115
  except sp.CalledProcessError as err:
123
- inform(
124
- "CalledProcessError running commands: %s in %s (return code: %s), output:\n%s"
125
- % (cmds, cwd, err.returncode, err.output),
126
- indent=2,
127
- verbosity=verbosity,
128
- )
129
116
  inform("Error: %s" % (err), indent=2, verbosity=verbosity)
130
117
  raise err
131
118
  except Exception as err:
132
- inform(
133
- "Error running commands: %s in (%s)!" % (cmds, cwd),
134
- indent=2,
135
- verbosity=verbosity,
136
- )
137
119
  inform("Error: %s" % (err), indent=2, verbosity=verbosity)
138
120
  raise err
139
121
 
140
122
 
141
123
  def pip_install(packages, version=None):
142
- pip = "pip3" if sys.version_info.major == 3 else "pip"
124
+ pip = "pip"
143
125
  cmds = [pip, "install"]
144
- if type(packages) == str:
145
- if version == None:
126
+ if isinstance(packages, str):
127
+ if version is None:
146
128
  cmds.append(packages)
147
129
  else:
148
130
  cmds.append("%s==%s" % (packages, version))
@@ -8,6 +8,7 @@ from omv.common.inout import inform
8
8
 
9
9
 
10
10
  def install_jnml(version):
11
+ """Install JNeuroML from GitHub tar."""
11
12
  if not version:
12
13
  version = "v0.14.0"
13
14
 
@@ -2,41 +2,23 @@ import os
2
2
  import shutil
3
3
  import subprocess as sp
4
4
  from pathlib import Path
5
- import platform
6
5
 
7
- from omv.common.inout import inform, trim_path, is_verbose, check_output
8
- from omv.engines.engine import OMVEngine, EngineExecutionError
6
+ from omv.common.inout import check_output, inform, is_verbose, trim_path
7
+ from omv.engines.engine import EngineExecutionError, OMVEngine
9
8
 
10
9
 
11
10
  class JNeuroMLEngine(OMVEngine):
12
11
  name = "jNeuroML"
12
+ e_name = "jnml"
13
13
 
14
14
  @staticmethod
15
15
  def get_environment():
16
16
  if "JNML_HOME" in os.environ:
17
17
  jnmlhome = os.environ["JNML_HOME"]
18
- elif shutil.which("jnml") is not None:
19
- jnmlhome = Path(shutil.which("jnml")).parent
18
+ elif shutil.which(JNeuroMLEngine.e_name) is not None:
19
+ jnmlhome = str(Path(shutil.which(JNeuroMLEngine.e_name)).parent)
20
20
  else:
21
- osname = platform.system()
22
- if osname == "Linux":
23
- try:
24
- jnmlhome = os.path.join(
25
- os.environ["XDG_DATA_HOME"], "jnml/jNeuroMLJar"
26
- )
27
- except KeyError:
28
- localsharepath = os.path.join(os.environ["HOME"], ".local/share")
29
- if os.path.isdir(localsharepath):
30
- jnmlhome = os.path.join(
31
- os.environ["HOME"], ".local/share/jnml/jNeuroMLJar"
32
- )
33
- else:
34
- jnmlhome = os.path.join(os.environ["HOME"], "jnml/jNeuroMLJar")
35
-
36
- elif osname == "Darwin":
37
- jnmlhome = os.path.join(os.environ["HOME"], "Library/jnml/jNeuroMLJar")
38
- else:
39
- jnmlhome = os.path.join(os.environ["HOME"], "jnml/jNeuroMLJar")
21
+ jnmlhome = ""
40
22
 
41
23
  environment_vars = {"JNML_HOME": jnmlhome}
42
24
 
@@ -45,9 +27,7 @@ class JNeuroMLEngine(OMVEngine):
45
27
  @staticmethod
46
28
  def get_executable():
47
29
  environment_vars = JNeuroMLEngine.get_environment()
48
- jnml = os.path.join(
49
- environment_vars["JNML_HOME"], "jnml" if os.name != "nt" else "jnml.bat"
50
- )
30
+ jnml = os.path.join(environment_vars["JNML_HOME"], JNeuroMLEngine.e_name)
51
31
  return jnml
52
32
 
53
33
  @staticmethod
@@ -59,7 +39,6 @@ class JNeuroMLEngine(OMVEngine):
59
39
  "Checking whether %s is installed..." % JNeuroMLEngine.name,
60
40
  indent=1,
61
41
  )
62
- FNULL = open(os.devnull, "w")
63
42
  jnml = JNeuroMLEngine.get_executable()
64
43
  r = check_output(
65
44
  [jnml, "-v"], verbosity=2, env=JNeuroMLEngine.get_environment()
@@ -76,10 +55,10 @@ class JNeuroMLEngine(OMVEngine):
76
55
 
77
56
  @staticmethod
78
57
  def install(version):
79
- from omv.engines.getjnml import install_jnml
58
+ from omv.engines.getpyneuroml import install_pynml
80
59
 
81
- inform("Will fetch and install jNeuroML jar", indent=2)
82
- install_jnml(version)
60
+ inform("Will install PyNeuroML for jnml", indent=2)
61
+ install_pynml(version)
83
62
 
84
63
  if not JNeuroMLEngine.is_installed():
85
64
  inform("Failure to install, exiting", indent=1)
@@ -28,10 +28,14 @@ class JNeuroMLValidateEngine(JNeuroMLEngine):
28
28
  path_s = resolve_paths(self.modelpath)
29
29
 
30
30
  inform(
31
- "Path [%s] expanded to: %s" % (self.modelpath, path_s),
31
+ "Path [%s] expanded to: \n %s" % (self.modelpath, '\n '.join(path_s)),
32
32
  indent=1,
33
33
  verbosity=1,
34
34
  )
35
+ if len(path_s) == 0:
36
+ raise EngineExecutionError(
37
+ "Could not determine list of files for validation from string: %s" % self.modelpath
38
+ )
35
39
 
36
40
  from omv.engines.jneuroml import JNeuroMLEngine
37
41
 
@@ -0,0 +1,27 @@
1
+ from omv.engines.engine import PATH_DELIMITER
2
+
3
+
4
+ def resolve_paths(path_s):
5
+ """
6
+ Make explicit list from: '*.nml myfile.xml' etc.
7
+ """
8
+
9
+ import glob
10
+
11
+ if PATH_DELIMITER in path_s:
12
+ all_paths = []
13
+ for p in path_s.split(PATH_DELIMITER):
14
+ for g in glob.glob(p):
15
+ print('Found path:', g)
16
+ all_paths.append(g)
17
+ path_s = all_paths
18
+ else:
19
+ all_paths = []
20
+
21
+ for g in glob.glob(path_s):
22
+ print('Found path:', g)
23
+ all_paths.append(g)
24
+ path_s = all_paths
25
+
26
+
27
+ return path_s
@@ -228,9 +228,7 @@ def _install_engine(eng):
228
228
  if ee.is_installed():
229
229
  already_installed = True
230
230
  else:
231
- from omv.engines.getjnml import install_jnml
232
-
233
- install_jnml(engine_version)
231
+ ee.install(None)
234
232
 
235
233
  elif eng.lower() == "neuroConstruct" or eng == "Py_neuroConstruct".lower():
236
234
  from omv.engines.pyneuroconstruct import PyneuroConstructEngine as ee
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = OSBModelValidation
3
- version = 0.3.8
3
+ version = 0.3.10
4
4
  author = Boris Marin, Padraig Gleeson
5
5
  author_email = borismarin@gmail.com
6
6
  url = https://github.com/OpenSourceBrain/osb-model-validation
@@ -1,21 +0,0 @@
1
- from omv.engines.engine import PATH_DELIMITER
2
-
3
-
4
- def resolve_paths(path_s):
5
- """
6
- Make explicit list from: '*.nml myfile.xml' etc.
7
- """
8
-
9
- if "*" in path_s:
10
- import glob
11
-
12
- if PATH_DELIMITER in path_s:
13
- all_paths = []
14
- for p in path_s.split(PATH_DELIMITER):
15
- for g in glob.glob(p):
16
- all_paths.append(g)
17
- path_s = all_paths
18
- else:
19
- path_s = glob.glob(path_s)
20
-
21
- return path_s