langflow Python代码编辑器:支持多个switch case选项

aelbi1ox  于 2个月前  发布在  Python
关注(0)|答案(2)|浏览(32)

Bug描述

这是有效的Python代码,但由于多个情况组合在一起,无法在组件Python编辑器中保存:

def switch_test(self):
        match self.input_text:
            case "CASE1":
            case "":
            case None:
                pass
            case "CASE2":
                pass
            case "CASE3":
                pass

复现步骤

尝试使用多个case选项编写代码!

预期行为

它应该可以正常工作。

寻求帮助的人

  • 无响应*

操作系统

macOS

Langflow版本

1.0.12

Python版本

None

截图

  • 无响应*

流程文件

  • 无响应*
guicsvcw

guicsvcw1#

Langflow Python代码编辑器在保存Python的匹配-case语句方面存在已知限制。具体来说,它可能无法正确处理分组在一起的多个情况。这个问题可能会阻止在组件Python编辑器中保存有效的Python代码。

Langflow 1.0.12版本最近发生了一些变化,可能会影响Python代码编辑器的功能。更新包括引入了Langflow原生类型用于输入和输出,这可能会影响编辑器如何处理某些Python构造1(https://github.com/langflow-ai/langflow/blob/main/docs/docs/whats-new/a-new-chapter-langflow.mdx)2(https://github.com/langflow-ai/langflow/blob/dev/docs/docs/migration/migrating-to-one-point-zero.mdx)3(https://github.com/langflow-ai/langflow/blob/main/docs/docs/migration/migrating-to-one-point-zero.mdx)。

此外,Langflow编辑器通过将代码解析为抽象语法树(AST)并检查导入语句和函数定义中的错误来验证Python代码。这个验证过程可能不完全支持在Python 3.10中引入的匹配-case语法4(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/utils/validate.py)5(https://github.com/logspace-ai/langflow/blob/dev/src/backend/langflow/utils/validate.py)6(https://github.com/logspace-ai/langflow/blob/dev/src/backend/base/langflow/api/v1/base.py)7(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/services/database/models/flow/model.py)。

要解决这个问题,您可能需要修改代码或等待更新以改进对匹配-case语句的支持。

  • 要继续与Dosu交谈,请提及@dosu。*
oyt4ldly

oyt4ldly2#

你好!
这个功能在Python 3.10中支持吗?如果不支持,那可能是为什么它在编辑器中无法工作的原因。
谢谢!

相关问题