Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Michiel Cottaar
fslpy
Commits
67538f10
Commit
67538f10
authored
Nov 02, 2017
by
Paul McCarthy
🚵
Browse files
New flag to fsl.utils.path.addExt, allowing ambiguity. Needs testing
parent
f480a89a
Changes
2
Hide whitespace changes
Inline
Side-by-side
fsl/data/image.py
View file @
67538f10
...
...
@@ -1319,15 +1319,16 @@ def looksLikeImage(filename, allowedExts=None):
return
any
([
filename
.
endswith
(
ext
)
for
ext
in
allowedExts
])
def
addExt
(
prefix
,
mustExist
=
True
):
def
addExt
(
prefix
,
mustExist
=
True
,
unambiguous
=
True
):
"""Adds a file extension to the given file ``prefix``. See
:func:`~fsl.utils.path.addExt`.
"""
return
fslpath
.
addExt
(
prefix
,
ALLOWED_EXTENSIONS
,
mustExist
,
defaultExt
(),
fileGroups
=
FILE_GROUPS
)
allowedExts
=
ALLOWED_EXTENSIONS
,
mustExist
=
mustExist
,
defaultExt
=
defaultExt
(),
fileGroups
=
FILE_GROUPS
,
unambiguous
=
unambiguous
)
def
splitExt
(
filename
):
...
...
fsl/utils/path.py
View file @
67538f10
...
...
@@ -81,7 +81,8 @@ def addExt(prefix,
allowedExts
=
None
,
mustExist
=
True
,
defaultExt
=
None
,
fileGroups
=
None
):
fileGroups
=
None
,
unambiguous
=
True
):
"""Adds a file extension to the given file ``prefix``.
If ``mustExist`` is False, and the file does not already have a
...
...
@@ -95,8 +96,8 @@ def addExt(prefix,
- No files exist with the given prefix and a supported extension.
- ``fileGroups
``
is
``
None``
,
and
more than one file exists with the
given prefix, and a supported extension.
- ``fileGroups is None`` and
``unambiguous is True``, and more than
one file exists with the
given prefix, and a supported extension.
Otherwise the full file name is returned.
...
...
@@ -109,6 +110,11 @@ def addExt(prefix,
:arg defaultExt: Default file extension to use.
:arg fileGroups: Recognised file groups - see :func:`getFileGroup`.
:arg unambiguous: If ``True`` (the default), and more than one file
exists with the specified ``prefix``, a
:exc:`PathError` is raised. Otherwise, a list
containing *all* matching files is returned.
"""
if
allowedExts
is
None
:
allowedExts
=
[]
...
...
@@ -151,8 +157,14 @@ def addExt(prefix,
raise
PathError
(
'Could not find a supported file '
'with prefix "{}"'
.
format
(
prefix
))
# Ambiguity! More than one supported
# file with the specified prefix.
# If ambiguity is ok, return
# all matching paths
elif
not
unambiguous
:
return
allPaths
# Ambiguity is not ok! More than
# one supported file with the
# specified prefix.
elif
nexists
>
1
:
# Remove non-existent paths from the
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment