Browse Source

fix: transform None into correct dest type (#4077)

tags/0.6.7
Yeuoly 1 year ago
parent
commit
b5f101bdac
No account linked to committer's email address
1 changed files with 8 additions and 1 deletions
  1. 8
    1
      api/core/tools/tool/tool.py

+ 8
- 1
api/core/tools/tool/tool.py View File

ToolParameter.ToolParameterType.STRING, ToolParameter.ToolParameterType.STRING,
ToolParameter.ToolParameterType.SELECT, ToolParameter.ToolParameterType.SELECT,
] and not isinstance(tool_parameters[parameter.name], str): ] and not isinstance(tool_parameters[parameter.name], str):
tool_parameters[parameter.name] = str(tool_parameters[parameter.name])
if tool_parameters[parameter.name] is None:
tool_parameters[parameter.name] = ''
else:
tool_parameters[parameter.name] = str(tool_parameters[parameter.name])
elif parameter.type == ToolParameter.ToolParameterType.NUMBER \ elif parameter.type == ToolParameter.ToolParameterType.NUMBER \
and not isinstance(tool_parameters[parameter.name], int | float): and not isinstance(tool_parameters[parameter.name], int | float):
if isinstance(tool_parameters[parameter.name], str): if isinstance(tool_parameters[parameter.name], str):
tool_parameters[parameter.name] = int(tool_parameters[parameter.name]) tool_parameters[parameter.name] = int(tool_parameters[parameter.name])
except ValueError: except ValueError:
tool_parameters[parameter.name] = float(tool_parameters[parameter.name]) tool_parameters[parameter.name] = float(tool_parameters[parameter.name])
elif isinstance(tool_parameters[parameter.name], bool):
tool_parameters[parameter.name] = int(tool_parameters[parameter.name])
elif tool_parameters[parameter.name] is None:
tool_parameters[parameter.name] = 0
elif parameter.type == ToolParameter.ToolParameterType.BOOLEAN: elif parameter.type == ToolParameter.ToolParameterType.BOOLEAN:
if not isinstance(tool_parameters[parameter.name], bool): if not isinstance(tool_parameters[parameter.name], bool):
# check if it is a string # check if it is a string

Loading…
Cancel
Save