Browse Source

fix(api/core/workflow/nodes/iteration/iteration_node.py): Extend output in iteration if output is a array. (#6647)

Signed-off-by: -LAN- <laipz8200@outlook.com>
-LAN- 10 months ago
parent
commit
4ec9a87e46
1 changed files with 5 additions and 1 deletions
  1. 5 1
      api/core/workflow/nodes/iteration/iteration_node.py

+ 5 - 1
api/core/workflow/nodes/iteration/iteration_node.py

@@ -106,7 +106,11 @@ class IterationNode(BaseIterationNode):
         variable_pool.remove([self.node_id] + output_selector[1:])
         state.current_output = output
         if output is not None:
-            state.outputs.append(output)
+            # NOTE: This is a temporary patch to process double nested list (for example, DALL-E output in iteration).
+            if isinstance(output, list):
+                state.outputs.extend(output)
+            else:
+                state.outputs.append(output)
 
     @classmethod
     def _extract_variable_selector_to_variable_mapping(cls, node_data: IterationNodeData) -> dict[str, list[str]]: