Skip to content

Commit 848405d

Browse files
authored
Merge pull request #4 from effigies/fix/iobase
FIX: Handle dynamic inputs/outputs better
2 parents 447533d + 567dc8a commit 848405d

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

pydra/tasks/nipype1/utils.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55

66

77
def traitedspec_to_specinfo(traitedspec):
8+
trait_names = set(traitedspec.copyable_trait_names())
89
return pydra.specs.SpecInfo(
910
name="Inputs",
1011
fields=[
1112
(name, attr.ib(type=ty.Any, metadata={"help_string": trait.desc}))
12-
for name, trait in traitedspec.traits().items()
13+
for name, trait in traitedspec.traits().items() if name in trait_names
1314
],
1415
bases=(pydra.engine.specs.BaseSpec,)
1516
)
@@ -49,7 +50,7 @@ def __init__(
4950
name=None,
5051
**kwargs,
5152
):
52-
self.input_spec = traitedspec_to_specinfo(interface.input_spec())
53+
self.input_spec = traitedspec_to_specinfo(interface.inputs)
5354
self._interface = interface
5455
if name is None:
5556
name = interface.__class__.__name__
@@ -62,7 +63,7 @@ def __init__(
6263
cache_dir=cache_dir,
6364
cache_locations=cache_locations,
6465
)
65-
self.output_spec = traitedspec_to_specinfo(interface.output_spec())
66+
self.output_spec = traitedspec_to_specinfo(interface._outputs())
6667

6768
def _run_task(self):
6869
inputs = attr.asdict(self.inputs,

0 commit comments

Comments
 (0)