@@ -278,12 +278,14 @@ def _check_version_requirements(self, trait_object, raise_exception=True):
278
278
min_ver = LooseVersion (str (trait_object .traits ()[name ].min_ver ))
279
279
try :
280
280
too_old = min_ver > version
281
- except TypeError :
282
- iflogger . warning (
281
+ except TypeError as err :
282
+ msg = (
283
283
f"Nipype cannot validate the package version { version !r} for "
284
- f"{ self .__class__ .__name__ } . Trait { name } requires version "
285
- f">={ min_ver } . Please verify validity."
284
+ f"{ self .__class__ .__name__ } . Trait { name } requires version >={ min_ver } ."
286
285
)
286
+ iflogger .warning (f"{ msg } . Please verify validity." )
287
+ if self .config .getboolean ("execution" , "stop_on_unknown_version" ):
288
+ raise ValueError (msg ) from err
287
289
continue
288
290
if too_old :
289
291
unavailable_traits .append (name )
@@ -304,12 +306,14 @@ def _check_version_requirements(self, trait_object, raise_exception=True):
304
306
max_ver = LooseVersion (str (trait_object .traits ()[name ].max_ver ))
305
307
try :
306
308
too_new = max_ver < version
307
- except TypeError :
308
- iflogger . warning (
309
+ except TypeError as err :
310
+ msg = (
309
311
f"Nipype cannot validate the package version { version !r} for "
310
- f"{ self .__class__ .__name__ } . Trait { name } requires version "
311
- f"<={ max_ver } . Please verify validity."
312
+ f"{ self .__class__ .__name__ } . Trait { name } requires version <={ max_ver } ."
312
313
)
314
+ iflogger .warning (f"{ msg } . Please verify validity." )
315
+ if self .config .getboolean ("execution" , "stop_on_unknown_version" ):
316
+ raise ValueError (msg ) from err
313
317
continue
314
318
if too_new :
315
319
unavailable_traits .append (name )
0 commit comments