Skip to content

Commit 94b316d

Browse files
committed
fix: ensure that changes to matlab paths and commands generate new version info
1 parent b44bce4 commit 94b316d

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

nipype/interfaces/spm/base.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ class Info(PackageInfo):
129129
"""
130130
_path = None
131131
_name = None
132+
_command = None
133+
_paths = None
132134

133135
@classmethod
134136
def path(klass, matlab_cmd=None, paths=None, use_mcr=None):
@@ -178,17 +180,18 @@ def getinfo(klass, matlab_cmd=None, paths=None, use_mcr=None):
178180
returns None of path not found
179181
"""
180182

181-
if klass._name and klass._path and klass._version:
183+
use_mcr = use_mcr or 'FORCE_SPMMCR' in os.environ
184+
matlab_cmd = matlab_cmd or ((use_mcr and os.getenv('SPMMCRCMD'))
185+
or os.getenv('MATLABCMD', 'matlab -nodesktop -nosplash'))
186+
187+
if klass._name and klass._path and klass._version and \
188+
klass._command == matlab_cmd and klass._paths == paths:
182189
return {
183190
'name': klass._name,
184191
'path': klass._path,
185192
'release': klass._version
186193
}
187194

188-
use_mcr = use_mcr or 'FORCE_SPMMCR' in os.environ
189-
matlab_cmd = matlab_cmd or ((use_mcr and os.getenv('SPMMCRCMD'))
190-
or os.getenv('MATLABCMD', 'matlab -nodesktop -nosplash'))
191-
192195
mlab = MatlabCommand(matlab_cmd=matlab_cmd, resource_monitor=False)
193196
mlab.inputs.mfile = False
194197
if paths:
@@ -225,6 +228,8 @@ def getinfo(klass, matlab_cmd=None, paths=None, use_mcr=None):
225228
klass._version = out_dict['release']
226229
klass._path = out_dict['path']
227230
klass._name = out_dict['name']
231+
klass._command = matlab_cmd
232+
klass._paths = paths
228233
return out_dict
229234

230235

0 commit comments

Comments
 (0)