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 asyncio
import json import json
import os import os
import platform
import time import time
from dataclasses import dataclass from dataclasses import dataclass
from typing import List from typing import List
@ -38,9 +39,30 @@ async def _get_cnr_data(cache_mode=True, dont_wait=True):
# Get ComfyUI version tag # Get ComfyUI version tag
comfyui_tag = manager_core.get_comfyui_tag() or 'unknown' 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: while remained:
# Add comfyui_version and form_factor to the API request # 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) 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'] remained = page < sub_json_obj['totalPages']