diff --git a/fsl/wrappers/wrapperutils.py b/fsl/wrappers/wrapperutils.py index f1b6dca52acc146f800a061027050d4f20037893..29c573ddc740cb18c0ad3f94e8d94d32ee0f3e4e 100644 --- a/fsl/wrappers/wrapperutils.py +++ b/fsl/wrappers/wrapperutils.py @@ -858,7 +858,6 @@ class _FileOrThing(object): for prefixed in it.chain(*allPrefixed): fullpath = prefixed prefixed = op.relpath(prefixed, workdir) - for prefPat, prefName in prefixes.items(): if not fnmatch.fnmatch(prefixed, '{}*'.format(prefPat)): continue @@ -871,9 +870,13 @@ class _FileOrThing(object): # not of the correct type. fval = self.__load(fullpath) if fval is not None: - prefixed = self.__removeExt(prefixed) - prefixed = re.sub('^' + prefPat, prefName, prefixed) - result[prefixed] = fval + noext = self.__removeExt(prefixed) + noext = re.sub('^' + prefPat, prefName, noext) + if noext not in result: + result[noext] = fval + else: + withext = re.sub('^' + prefPat, prefName, prefixed) + result[withext] = fval break return result