fix: resolve mypy type errors in http_request and list_operator nodes

- Fix str | bytes union type handling in http_request executor
- Add type guard for boolean filter value in list_operator node
This commit is contained in:
-LAN- 2025-09-05 21:17:18 +08:00
parent 6c3302a192
commit d9aa0ec046
No known key found for this signature in database
GPG Key ID: 6BA0D108DED011FF
2 changed files with 6 additions and 1 deletions

View File

@ -421,7 +421,10 @@ class Executor:
body_string += f"--{boundary}--\r\n"
elif self.node_data.body:
if self.content:
body_string = self.content.decode("utf-8", errors="replace")
if isinstance(self.content, bytes):
body_string = self.content.decode("utf-8", errors="replace")
else:
body_string = self.content
elif self.data and self.node_data.body.type == "x-www-form-urlencoded":
body_string = urlencode(self.data)
elif self.data and self.node_data.body.type == "form-data":

View File

@ -171,6 +171,8 @@ class ListOperatorNode(Node):
result = list(filter(filter_func, variable.value))
variable = variable.model_copy(update={"value": result})
else:
if not isinstance(condition.value, bool):
raise ValueError(f"Boolean filter expects a boolean value, got {type(condition.value)}")
filter_func = _get_boolean_filter_func(condition=condition.comparison_operator, value=condition.value)
result = list(filter(filter_func, variable.value))
variable = variable.model_copy(update={"value": result})