From 9216cbfcc5e4e32e6e5a869a9c4d2ba9a2bcaee5 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Thu, 20 Mar 2025 03:08:10 -0600 Subject: [PATCH] Fixed /api/nodes functionality. --- Data/server.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Data/server.py b/Data/server.py index bd84b42..e484666 100644 --- a/Data/server.py +++ b/Data/server.py @@ -2,6 +2,7 @@ from flask import Flask, send_from_directory, jsonify, request, abort import os import importlib import inspect +from OdenGraphQt import BaseNode # Determine the absolute path for the React build folder build_folder = os.path.join(os.getcwd(), "web-interface", "build") @@ -20,10 +21,6 @@ workflow_data = { } def import_nodes_from_folder(package_name): - """ - Recursively import all modules from the given package. - Returns a dictionary where keys are subfolder names, and values are lists of node names. - """ nodes_by_category = {} package = importlib.import_module(package_name) package_path = package.__path__[0] @@ -39,7 +36,9 @@ def import_nodes_from_folder(package_name): try: module = importlib.import_module(module_name) for name, obj in inspect.getmembers(module, inspect.isclass): - if hasattr(obj, "NODE_NAME"): + # Filter out only actual node classes you define: + if (issubclass(obj, BaseNode) + and obj.__module__ == module.__name__): if category_name not in nodes_by_category: nodes_by_category[category_name] = [] nodes_by_category[category_name].append(obj.NODE_NAME)