Skip to content
Snippets Groups Projects
Commit 8d7d19a9 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

Merge branch 'bug_fslsub' into 'master'

BUG: use _prepareArgs to unpack input arguments

See merge request fsl/fslpy!167
parents 09b60b2f 806e5dcd
No related branches found
No related tags found
No related merge requests found
......@@ -55,7 +55,7 @@ import importlib
log = logging.getLogger(__name__)
def submit(command,
def submit(*command,
minutes=None,
queue=None,
architecture=None,
......@@ -70,9 +70,12 @@ def submit(command,
flags=False,
multi_threaded=None,
verbose=False):
"""Submits a given command to the cluster
"""
Submits a given command to the cluster
You can pass the command and arguments as a single string, or as a regular or unpacked sequence.
:arg command: single string with the job command
:arg command: string or regular/unpacked sequence of strings with the job command
:arg minutes: Estimated job length in minutes, used to auto-set
queue name
:arg queue: Explicitly sets the queue name
......@@ -101,7 +104,7 @@ def submit(command,
:return: string of submitted job id
"""
from fsl.utils.run import runfsl
from fsl.utils.run import runfsl, prepareArgs
base_cmd = ['fsl_sub']
......@@ -132,7 +135,7 @@ def submit(command,
base_cmd.append('-s')
base_cmd.extend(multi_threaded)
base_cmd.append(command)
base_cmd.extend(prepareArgs(command))
return runfsl(*base_cmd).strip()
......
......@@ -72,7 +72,7 @@ def dryrun(*args):
DRY_RUN = oldval
def _prepareArgs(args):
def prepareArgs(args):
"""Used by the :func:`run` function. Ensures that the given arguments is a
list of strings.
"""
......@@ -179,7 +179,7 @@ def run(*args, **kwargs):
logStdout = log .get('stdout', None)
logStderr = log .get('stderr', None)
logCmd = log .get('cmd', None)
args = _prepareArgs(args)
args = prepareArgs(args)
if not bool(submit):
submit = None
......@@ -345,7 +345,7 @@ def runfsl(*args, **kwargs):
if not prefixes:
raise FSLNotPresent('$FSLDIR is not set - FSL cannot be found!')
args = _prepareArgs(args)
args = prepareArgs(args)
for prefix in prefixes:
cmdpath = op.join(prefix, args[0])
if op.isfile(cmdpath):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment