Skip to content

Commit cfa8e4d

Browse files
committed
Merge pull request #630 from satra/fix/datagrabber
fix: datagrabber output order for files
2 parents 07170ae + 341c5d3 commit cfa8e4d

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

nipype/interfaces/io.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -540,11 +540,11 @@ def _list_outputs(self):
540540
raise IOError(msg)
541541
else:
542542
warn(msg)
543-
outputs[key].insert(i, None)
543+
outputs[key].append(None)
544544
else:
545545
if self.inputs.sort_filelist:
546546
outfiles.sort()
547-
outputs[key].insert(i, list_to_filename(outfiles))
547+
outputs[key].append(list_to_filename(outfiles))
548548
if any([val is None for val in outputs[key]]):
549549
outputs[key] = []
550550
if len(outputs[key]) == 0:

nipype/interfaces/tests/test_io.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,26 @@ def test_selectfiles():
5151
yield assert_equal, res.outputs.converter, wanted
5252

5353

54+
def test_datagrabber_order():
55+
tempdir = mkdtemp()
56+
file1 = mkstemp(prefix='sub002_L1_R1.q', dir=tempdir)
57+
file2 = mkstemp(prefix='sub002_L1_R2.q', dir=tempdir)
58+
file3 = mkstemp(prefix='sub002_L2_R1.q', dir=tempdir)
59+
file4 = mkstemp(prefix='sub002_L2_R2.q', dir=tempdir)
60+
dg = nio.DataGrabber(infields=['sid'])
61+
dg.inputs.base_directory = tempdir
62+
dg.inputs.template = '%s_L%d_R?.q*'
63+
dg.inputs.template_args = {'outfiles': [['sid', 1], ['sid', 2]]}
64+
dg.inputs.sid = 'sub002'
65+
dg.inputs.sort_filelist = True
66+
res = dg.run()
67+
outfiles = res.outputs.outfiles
68+
yield assert_true, 'sub002_L1_R1' in outfiles[0][0]
69+
yield assert_true, 'sub002_L1_R2' in outfiles[0][1]
70+
yield assert_true, 'sub002_L2_R1' in outfiles[1][0]
71+
yield assert_true, 'sub002_L2_R2' in outfiles[1][1]
72+
shutil.rmtree(tempdir)
73+
5474
def test_datasink():
5575
ds = nio.DataSink()
5676
yield assert_true, ds.inputs.parameterization

0 commit comments

Comments
 (0)