From fec85bcc08f45f954022c9f7ef0b68604be6b1a8 Mon Sep 17 00:00:00 2001 From: Will Miao <13051207myq@gmail.com> Date: Sun, 21 Sep 2025 22:45:11 +0800 Subject: [PATCH] refactor: unify standalone mode check using environment variable --- py/config.py | 5 ++--- py/metadata_collector/__init__.py | 4 +--- py/metadata_collector/metadata_processor.py | 4 ++-- py/routes/misc_routes.py | 2 +- py/routes/recipe_routes.py | 2 +- py/utils/usage_stats.py | 3 +-- run_tests.py | 4 ++++ standalone.py | 3 +++ 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/py/config.py b/py/config.py index 1bdfe2bb..a15d0141 100644 --- a/py/config.py +++ b/py/config.py @@ -3,12 +3,11 @@ import platform import folder_paths # type: ignore from typing import List import logging -import sys import json import urllib.parse -# Check if running in standalone mode -standalone_mode = 'nodes' not in sys.modules +# Use an environment variable to control standalone mode +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" logger = logging.getLogger(__name__) diff --git a/py/metadata_collector/__init__.py b/py/metadata_collector/__init__.py index 29f377e9..d71bf49f 100644 --- a/py/metadata_collector/__init__.py +++ b/py/metadata_collector/__init__.py @@ -1,9 +1,7 @@ import os -import importlib -import sys # Check if running in standalone mode -standalone_mode = 'nodes' not in sys.modules +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" if not standalone_mode: from .metadata_hook import MetadataHook diff --git a/py/metadata_collector/metadata_processor.py b/py/metadata_collector/metadata_processor.py index 437677d7..3532ceba 100644 --- a/py/metadata_collector/metadata_processor.py +++ b/py/metadata_collector/metadata_processor.py @@ -1,9 +1,9 @@ import json -import sys +import os from .constants import IMAGES # Check if running in standalone mode -standalone_mode = 'nodes' not in sys.modules +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" from .constants import MODELS, PROMPTS, SAMPLING, LORAS, SIZE, IS_SAMPLER diff --git a/py/routes/misc_routes.py b/py/routes/misc_routes.py index f8173133..b7598d97 100644 --- a/py/routes/misc_routes.py +++ b/py/routes/misc_routes.py @@ -18,7 +18,7 @@ from ..services.websocket_manager import ws_manager from ..services.downloader import get_downloader logger = logging.getLogger(__name__) -standalone_mode = 'nodes' not in sys.modules +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" # Node registry for tracking active workflow nodes class NodeRegistry: diff --git a/py/routes/recipe_routes.py b/py/routes/recipe_routes.py index 0c8843b4..21214d99 100644 --- a/py/routes/recipe_routes.py +++ b/py/routes/recipe_routes.py @@ -21,7 +21,7 @@ from ..services.server_i18n import server_i18n from ..config import config # Check if running in standalone mode -standalone_mode = 'nodes' not in sys.modules +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" from ..services.service_registry import ServiceRegistry # Add ServiceRegistry import from ..services.downloader import get_downloader diff --git a/py/utils/usage_stats.py b/py/utils/usage_stats.py index 1466ee21..fc9d4d72 100644 --- a/py/utils/usage_stats.py +++ b/py/utils/usage_stats.py @@ -1,6 +1,5 @@ import os import json -import sys import time import asyncio import logging @@ -12,7 +11,7 @@ from ..config import config from ..services.service_registry import ServiceRegistry # Check if running in standalone mode -standalone_mode = 'nodes' not in sys.modules +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" if not standalone_mode: from ..metadata_collector.metadata_registry import MetadataRegistry diff --git a/run_tests.py b/run_tests.py index 627c77bc..af5f96ff 100644 --- a/run_tests.py +++ b/run_tests.py @@ -10,6 +10,10 @@ import sys import os from pathlib import Path +# Set environment variable to indicate standalone mode +# HF_HUB_DISABLE_TELEMETRY is from ComfyUI main.py +standalone_mode = os.environ.get("HF_HUB_DISABLE_TELEMETRY", "0") == "0" + def main(): """Run pytest from the tests directory to avoid import issues.""" # Get the script directory diff --git a/standalone.py b/standalone.py index f38a89fc..a6259851 100644 --- a/standalone.py +++ b/standalone.py @@ -4,6 +4,9 @@ import sys import json from py.middleware.cache_middleware import cache_control +# Set environment variable to indicate standalone mode +os.environ["COMFYUI_LORA_MANAGER_STANDALONE"] = "1" + # Create mock modules for py/nodes directory - add this before any other imports def mock_nodes_directory(): """Create mock modules for all Python files in the py/nodes directory"""