Commit 07bec037 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Paths passed to removeDuplicates must exist. Immv/cp scripts raise error

when called programmatically.
parent 02629feb
...@@ -58,13 +58,13 @@ def main(argv=None): ...@@ -58,13 +58,13 @@ def main(argv=None):
fileGroups=fslimage.FILE_GROUPS) fileGroups=fslimage.FILE_GROUPS)
for src in srcs: for src in srcs:
try:
imcp.imcp(src, dest, useDefaultExt=True) imcp.imcp(src, dest, useDefaultExt=True)
except Exception as e:
print(e)
break
if __name__ == '__main__': if __name__ == '__main__':
try:
main() main()
except Exception as e:
print(e)
sys.exit(1)
...@@ -59,13 +59,12 @@ def main(argv=None): ...@@ -59,13 +59,12 @@ def main(argv=None):
fileGroups=fslimage.FILE_GROUPS) fileGroups=fslimage.FILE_GROUPS)
for src in srcs: for src in srcs:
try:
imcp.immv(src, dest, useDefaultExt=True) imcp.immv(src, dest, useDefaultExt=True)
except Exception as e:
print(e)
break
if __name__ == '__main__': if __name__ == '__main__':
try:
main() main()
except Exception as e:
print(e)
sys.exit(1)
...@@ -246,7 +246,10 @@ def removeDuplicates(paths, allowedExts=None, fileGroups=None): ...@@ -246,7 +246,10 @@ def removeDuplicates(paths, allowedExts=None, fileGroups=None):
['001.img', '002.img', '003.img'] ['001.img', '002.img', '003.img']
:arg paths: List of paths to reduce. A :exc:`PathError` is raised if any of the paths do not exist.
:arg paths: List of paths to reduce. If ``allowedExts`` is not
``None``, may be incomplete.
:arg allowedExts: Allowed/recognised file extensions. :arg allowedExts: Allowed/recognised file extensions.
...@@ -257,11 +260,20 @@ def removeDuplicates(paths, allowedExts=None, fileGroups=None): ...@@ -257,11 +260,20 @@ def removeDuplicates(paths, allowedExts=None, fileGroups=None):
for path in paths: for path in paths:
path = addExt(path,
mustExist=True,
allowedExts=allowedExts,
fileGroups=fileGroups)
groupFiles = getFileGroup(path, allowedExts, fileGroups) groupFiles = getFileGroup(path, allowedExts, fileGroups)
if not any([g in unique for g in groupFiles]): if len(groupFiles) == 0:
if path not in unique:
unique.append(path) unique.append(path)
elif not any([p in unique for p in groupFiles]):
unique.append(groupFiles[0])
return unique return unique
...@@ -320,7 +332,7 @@ def getFileGroup(path, allowedExts=None, fileGroups=None, fullPaths=True): ...@@ -320,7 +332,7 @@ def getFileGroup(path, allowedExts=None, fileGroups=None, fullPaths=True):
for group in fileGroups: for group in fileGroups:
if ext not in group: if ext != '' and ext not in group:
continue continue
groupFiles = [base + s for s in group] groupFiles = [base + s for s in group]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment