Skip to content

Commit e87ffe2

Browse files
committed
fix: update a few more dynamic interfaces and allow for keyword arguments to be encoded
1 parent 9ea629d commit e87ffe2

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

nipype/interfaces/utility.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,14 @@ class Merge(IOBase):
107107

108108
def __init__(self, numinputs=0, **inputs):
109109
super(Merge, self).__init__(**inputs)
110-
self.numinputs = numinputs
110+
self._numinputs = numinputs
111111
add_traits(self.inputs, ['in%d' % (i + 1) for i in range(numinputs)])
112112

113113
def _list_outputs(self):
114114
outputs = self._outputs().get()
115115
out = []
116116
if self.inputs.axis == 'vstack':
117-
for idx in range(self.numinputs):
117+
for idx in range(self._numinputs):
118118
value = getattr(self.inputs, 'in%d' % (idx + 1))
119119
if isdefined(value):
120120
if isinstance(value, list) and not self.inputs.no_flatten:
@@ -124,7 +124,7 @@ def _list_outputs(self):
124124
else:
125125
for i in range(len(filename_to_list(self.inputs.in1))):
126126
out.insert(i, [])
127-
for j in range(self.numinputs):
127+
for j in range(self._numinputs):
128128
out[i].append(filename_to_list(getattr(self.inputs, 'in%d' % (j + 1)))[i])
129129
if out:
130130
outputs['out'] = out

nipype/pipeline/engine.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,13 @@ def format_node(node, format='python'):
8989
klass.__class__.__name__)
9090
comment = '# Node: %s' % node.fullname
9191
spec = inspect.getargspec(node._interface.__init__)
92-
if spec.defaults:
93-
args = spec.args[1:-len(spec.defaults)]
94-
else:
95-
args = spec.args[1:]
92+
args = spec.args[1:]
9693
if args:
9794
filled_args = []
9895
for arg in args:
99-
filled_args.append('%s=%s' % (arg, getattr(node._interface,
100-
'_%s' % arg)))
96+
if hasattr(node._interface, '_%s' % arg):
97+
filled_args.append('%s=%s' % (arg, getattr(node._interface,
98+
'_%s' % arg)))
10199
args = ', '.join(filled_args)
102100
else:
103101
args = ''

0 commit comments

Comments
 (0)