From fb170aea66cbedad6206b4cf907764db6802e5ed Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Fri, 31 Mar 2023 13:59:10 -0300 Subject: [PATCH] fix: make class part of base_classes --- src/backend/langflow/utils/util.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/backend/langflow/utils/util.py b/src/backend/langflow/utils/util.py index c6b25fbe6..c075f10db 100644 --- a/src/backend/langflow/utils/util.py +++ b/src/backend/langflow/utils/util.py @@ -158,17 +158,23 @@ def get_base_classes(cls): """Get the base classes of a class. These are used to determine the output of the nodes. """ - bases = cls.__bases__ - if not bases: - return [] - else: + if bases := cls.__bases__: result = [] for base in bases: if any(type in base.__module__ for type in ["pydantic", "abc"]): continue result.append(base.__name__) - result.extend(get_base_classes(base)) - return result + base_classes = get_base_classes(base) + # check if the base_classes are in the result + # if not, add them + for base_class in base_classes: + if base_class not in result: + result.append(base_class) + else: + result = [cls.__name__] + if not result: + result = [cls.__name__] + return list(set(result)) def get_default_factory(module: str, function: str):