diff --git a/execution.py b/execution.py index b57463621..7c42911be 100644 --- a/execution.py +++ b/execution.py @@ -144,11 +144,16 @@ def _map_node_over_list(obj, input_data_all, func, allow_interrupt=False, execut return {k: v[i if len(v) > i else -1] for k, v in d.items()} results = [] - def process_inputs(inputs, index=None): + def process_inputs(inputs, index=None, input_is_list=False): if allow_interrupt: nodes.before_node_execution() execution_block = None for k, v in inputs.items(): + if input_is_list: + for e in v: + if isinstance(e, ExecutionBlocker): + v = e + break if isinstance(v, ExecutionBlocker): execution_block = execution_block_cb(v) if execution_block_cb else v break @@ -160,7 +165,7 @@ def _map_node_over_list(obj, input_data_all, func, allow_interrupt=False, execut results.append(execution_block) if input_is_list: - process_inputs(input_data_all, 0) + process_inputs(input_data_all, 0, input_is_list=input_is_list) elif max_len_input == 0: process_inputs({}) else: