From 11951148e26141357ba37e7e596c3bb10ef6870b Mon Sep 17 00:00:00 2001 From: Martin Craig <martin.craig@eng.ox.ac.uk> Date: Wed, 15 Aug 2018 15:16:11 +0100 Subject: [PATCH] Handle conflicts in output where two outputs have the same name (without file extension) --- fsl/wrappers/wrapperutils.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/fsl/wrappers/wrapperutils.py b/fsl/wrappers/wrapperutils.py index f1b6dca52..29c573ddc 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 -- GitLab