浏览代码

feat: remove file and file[] restriction in code node (#17382)

tags/1.2.0
Good Wood 7 个月前
父节点
当前提交
b3f4e90862
没有帐户链接到提交者的电子邮件
共有 2 个文件被更改,包括 6 次插入2 次删除
  1. 5
    1
      api/core/workflow/nodes/code/code_node.py
  2. 1
    1
      web/app/components/workflow/nodes/code/use-config.ts

+ 5
- 1
api/core/workflow/nodes/code/code_node.py 查看文件

@@ -6,6 +6,7 @@ from core.helper.code_executor.code_executor import CodeExecutionError, CodeExec
from core.helper.code_executor.code_node_provider import CodeNodeProvider
from core.helper.code_executor.javascript.javascript_code_provider import JavascriptCodeProvider
from core.helper.code_executor.python3.python3_code_provider import Python3CodeProvider
from core.variables.segments import ArrayFileSegment
from core.workflow.entities.node_entities import NodeRunResult
from core.workflow.nodes.base import BaseNode
from core.workflow.nodes.code.entities import CodeNodeData
@@ -49,7 +50,10 @@ class CodeNode(BaseNode[CodeNodeData]):
for variable_selector in self.node_data.variables:
variable_name = variable_selector.variable
variable = self.graph_runtime_state.variable_pool.get(variable_selector.value_selector)
variables[variable_name] = variable.to_object() if variable else None
if isinstance(variable, ArrayFileSegment):
variables[variable_name] = [v.to_dict() for v in variable.value] if variable.value else None
else:
variables[variable_name] = variable.to_object() if variable else None
# Run code
try:
result = CodeExecutor.execute_workflow_code_template(

+ 1
- 1
web/app/components/workflow/nodes/code/use-config.ts 查看文件

@@ -101,7 +101,7 @@ const useConfig = (id: string, payload: CodeNodeType) => {
})

const filterVar = useCallback((varPayload: Var) => {
return [VarType.string, VarType.number, VarType.secret, VarType.object, VarType.array, VarType.arrayNumber, VarType.arrayString, VarType.arrayObject].includes(varPayload.type)
return [VarType.string, VarType.number, VarType.secret, VarType.object, VarType.array, VarType.arrayNumber, VarType.arrayString, VarType.arrayObject, VarType.file, VarType.arrayFile].includes(varPayload.type)
}, [])

// single run

正在加载...
取消
保存