|
|
|
@ -46,7 +46,10 @@ def map_node_over_list(obj, input_data_all, func, allow_interrupt=False):
|
|
|
|
|
if hasattr(obj, "INPUT_IS_LIST"): |
|
|
|
|
input_is_list = obj.INPUT_IS_LIST |
|
|
|
|
|
|
|
|
|
max_len_input = max([len(x) for x in input_data_all.values()]) |
|
|
|
|
if len(input_data_all) == 0: |
|
|
|
|
max_len_input = 0 |
|
|
|
|
else: |
|
|
|
|
max_len_input = max([len(x) for x in input_data_all.values()]) |
|
|
|
|
|
|
|
|
|
# get a slice of inputs, repeat last input when list isn't long enough |
|
|
|
|
def slice_dict(d, i): |
|
|
|
@ -60,7 +63,11 @@ def map_node_over_list(obj, input_data_all, func, allow_interrupt=False):
|
|
|
|
|
if allow_interrupt: |
|
|
|
|
nodes.before_node_execution() |
|
|
|
|
results.append(getattr(obj, func)(**input_data_all)) |
|
|
|
|
else: |
|
|
|
|
elif max_len_input == 0: |
|
|
|
|
if allow_interrupt: |
|
|
|
|
nodes.before_node_execution() |
|
|
|
|
results.append(getattr(obj, func)()) |
|
|
|
|
else: |
|
|
|
|
for i in range(max_len_input): |
|
|
|
|
if allow_interrupt: |
|
|
|
|
nodes.before_node_execution() |
|
|
|
|