diff --git a/glob/cnr_utils.py b/glob/cnr_utils.py index 7d85393c..14c609da 100644 --- a/glob/cnr_utils.py +++ b/glob/cnr_utils.py @@ -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']