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
Evan Edmond
fslpy
Commits
3ebae6b1
Commit
3ebae6b1
authored
Oct 20, 2020
by
Paul McCarthy
🚵
Browse files
RF: when cmdonly is used with a wrapper function, assertions are disabled
parent
c63dc780
Changes
2
Hide whitespace changes
Inline
Side-by-side
fsl/utils/assertions.py
View file @
3ebae6b1
...
...
@@ -39,14 +39,17 @@ _DISABLE_ASSERTIONS = False
@
contextlib
.
contextmanager
def
disabled
():
def
disabled
(
disable
=
True
):
"""Context manager which allows assertion checks to be temporarily
disabled.
:arg disable: Set to ``True`` (the default) to disable assertions,
or ``False`` to enable them.
"""
global
_DISABLE_ASSERTIONS
oldval
=
_DISABLE_ASSERTIONS
_DISABLE_ASSERTIONS
=
Tru
e
_DISABLE_ASSERTIONS
=
disabl
e
try
:
yield
...
...
fsl/wrappers/wrapperutils.py
View file @
3ebae6b1
...
...
@@ -108,10 +108,11 @@ import six
import
nibabel
as
nib
import
numpy
as
np
import
fsl.utils.run
as
run
import
fsl.utils.path
as
fslpath
import
fsl.utils.tempdir
as
tempdir
import
fsl.data.image
as
fslimage
import
fsl.utils.run
as
run
import
fsl.utils.assertions
as
asrt
import
fsl.utils.path
as
fslpath
import
fsl.utils.tempdir
as
tempdir
import
fsl.data.image
as
fslimage
log
=
logging
.
getLogger
(
__name__
)
...
...
@@ -185,7 +186,14 @@ def genxwrapper(func, runner):
submit
=
kwargs
.
pop
(
'submit'
,
None
)
cmdonly
=
kwargs
.
pop
(
'cmdonly'
,
False
)
log
=
kwargs
.
pop
(
'log'
,
{
'tee'
:
True
})
cmd
=
func
(
*
args
,
**
kwargs
)
# many wrapper functions use fsl.utils.assertions
# statements to check that input arguments are
# valid. Disable these if the cmdonly argument is
# being used to generate a command without running
# it.
with
asrt
.
disabled
(
cmdonly
):
cmd
=
func
(
*
args
,
**
kwargs
)
return
runner
(
cmd
,
stderr
=
stderr
,
...
...
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