|
|
|
|
@ -149,7 +149,10 @@ class ListOperatorNode(BaseNode[ListOperatorNodeData]):
|
|
|
|
|
def _extract_slice(
|
|
|
|
|
self, variable: Union[ArrayFileSegment, ArrayNumberSegment, ArrayStringSegment]
|
|
|
|
|
) -> Union[ArrayFileSegment, ArrayNumberSegment, ArrayStringSegment]:
|
|
|
|
|
value = int(self.graph_runtime_state.variable_pool.convert_template(self.node_data.extract_by.serial).text) - 1
|
|
|
|
|
value = int(self.graph_runtime_state.variable_pool.convert_template(self.node_data.extract_by.serial).text)
|
|
|
|
|
if value < 1:
|
|
|
|
|
raise ValueError(f"Invalid serial index: must be >= 1, got {value}")
|
|
|
|
|
value -= 1
|
|
|
|
|
if len(variable.value) > int(value):
|
|
|
|
|
result = variable.value[value]
|
|
|
|
|
else:
|
|
|
|
|
|