WIP - Loop node advanced parameters + complete_if_empty (#1675)
This commit is contained in:
@@ -765,6 +765,7 @@ class ForLoopBlock(Block):
|
|||||||
loop_blocks: list[BlockTypeVar]
|
loop_blocks: list[BlockTypeVar]
|
||||||
loop_over: PARAMETER_TYPE | None = None
|
loop_over: PARAMETER_TYPE | None = None
|
||||||
loop_variable_reference: str | None = None
|
loop_variable_reference: str | None = None
|
||||||
|
complete_if_empty: bool = False
|
||||||
|
|
||||||
def get_all_parameters(
|
def get_all_parameters(
|
||||||
self,
|
self,
|
||||||
@@ -849,7 +850,10 @@ class ForLoopBlock(Block):
|
|||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise NoIterableValueFound()
|
if self.complete_if_empty:
|
||||||
|
return []
|
||||||
|
else:
|
||||||
|
raise NoIterableValueFound()
|
||||||
|
|
||||||
if isinstance(parameter_value, list):
|
if isinstance(parameter_value, list):
|
||||||
return parameter_value
|
return parameter_value
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ class ForLoopBlockYAML(BlockYAML):
|
|||||||
loop_blocks: list["BLOCK_YAML_SUBCLASSES"]
|
loop_blocks: list["BLOCK_YAML_SUBCLASSES"]
|
||||||
loop_over_parameter_key: str = ""
|
loop_over_parameter_key: str = ""
|
||||||
loop_variable_reference: str | None = None
|
loop_variable_reference: str | None = None
|
||||||
|
complete_if_empty: bool = False
|
||||||
|
|
||||||
|
|
||||||
class CodeBlockYAML(BlockYAML):
|
class CodeBlockYAML(BlockYAML):
|
||||||
|
|||||||
@@ -1512,6 +1512,7 @@ class WorkflowService:
|
|||||||
loop_blocks=loop_blocks,
|
loop_blocks=loop_blocks,
|
||||||
output_parameter=output_parameter,
|
output_parameter=output_parameter,
|
||||||
continue_on_failure=block_yaml.continue_on_failure,
|
continue_on_failure=block_yaml.continue_on_failure,
|
||||||
|
complete_if_empty=block_yaml.complete_if_empty,
|
||||||
)
|
)
|
||||||
elif block_yaml.block_type == BlockType.CODE:
|
elif block_yaml.block_type == BlockType.CODE:
|
||||||
return CodeBlock(
|
return CodeBlock(
|
||||||
|
|||||||
Reference in New Issue
Block a user