Skip to content

Commit 72f5022

Browse files
authored
Merge pull request #631 from nipype/fix/shelloutspec-requires
FIX: Allow any iterable for ShellOutSpec requires
2 parents 11a6d68 + d061b35 commit 72f5022

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

pydra/engine/specs.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -636,11 +636,12 @@ def _check_requires(self, fld, inputs):
636636

637637
if "requires" in fld.metadata:
638638
# if requires is a list of list it is treated as el[0] OR el[1] OR...
639-
if all([isinstance(el, list) for el in fld.metadata["requires"]]):
640-
field_required_OR = fld.metadata["requires"]
639+
required_fields = ensure_list(fld.metadata["requires"])
640+
if all([isinstance(el, list) for el in required_fields]):
641+
field_required_OR = required_fields
641642
# if requires is a list of tuples/strings - I'm creating a 1-el nested list
642-
elif all([isinstance(el, (str, tuple)) for el in fld.metadata["requires"]]):
643-
field_required_OR = [fld.metadata["requires"]]
643+
elif all([isinstance(el, (str, tuple)) for el in required_fields]):
644+
field_required_OR = [required_fields]
644645
else:
645646
raise Exception(
646647
f"requires field can be a list of list, or a list "

0 commit comments

Comments
 (0)