@@ -129,6 +129,8 @@ class Info(PackageInfo):
129
129
"""
130
130
_path = None
131
131
_name = None
132
+ _command = None
133
+ _paths = None
132
134
133
135
@classmethod
134
136
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):
178
180
returns None of path not found
179
181
"""
180
182
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 :
182
189
return {
183
190
'name' : klass ._name ,
184
191
'path' : klass ._path ,
185
192
'release' : klass ._version
186
193
}
187
194
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
-
192
195
mlab = MatlabCommand (matlab_cmd = matlab_cmd , resource_monitor = False )
193
196
mlab .inputs .mfile = False
194
197
if paths :
@@ -225,6 +228,8 @@ def getinfo(klass, matlab_cmd=None, paths=None, use_mcr=None):
225
228
klass ._version = out_dict ['release' ]
226
229
klass ._path = out_dict ['path' ]
227
230
klass ._name = out_dict ['name' ]
231
+ klass ._command = matlab_cmd
232
+ klass ._paths = paths
228
233
return out_dict
229
234
230
235
0 commit comments