Add form factor detection for ComfyUI node query

This commit is contained in:
Yoland Y 2025-03-04 16:36:27 -08:00
parent c5bd7b7cda
commit 4e8d8da1c5

View File

@ -1,6 +1,7 @@
import asyncio
import json
import os
import platform
import time
from dataclasses import dataclass
from typing import List
@ -38,9 +39,30 @@ async def _get_cnr_data(cache_mode=True, dont_wait=True):
# Get ComfyUI version tag
comfyui_tag = manager_core.get_comfyui_tag() or 'unknown'
# Determine form factor based on environment and platform
is_desktop = bool(os.environ.get('__COMFYUI_DESKTOP_VERSION__'))
system = platform.system().lower()
is_windows = system == 'windows'
is_mac = system == 'darwin'
if is_desktop:
if is_windows:
form_factor = 'desktop-win'
elif is_mac:
form_factor = 'desktop-mac'
else:
form_factor = 'other'
else:
if is_windows:
form_factor = 'git-windows'
elif is_mac:
form_factor = 'git-mac'
else:
form_factor = 'other'
while remained:
# Add comfyui_version and form_factor to the API request
sub_uri = f'{base_url}/nodes?page={page}&limit=30&comfyui_version={comfyui_tag}'
sub_uri = f'{base_url}/nodes?page={page}&limit=30&comfyui_version={comfyui_tag}&form_factor={form_factor}'
sub_json_obj = await asyncio.wait_for(manager_util.get_data_with_cache(sub_uri, cache_mode=False, silent=True), timeout=30)
remained = page < sub_json_obj['totalPages']