diff --git a/comfyui_manager/glob/enums.py b/comfyui_manager/glob/enums.py new file mode 100644 index 00000000..bd4a57f1 --- /dev/null +++ b/comfyui_manager/glob/enums.py @@ -0,0 +1,17 @@ +import enum + +class NetworkMode(enum.Enum): + PUBLIC = "public" + PRIVATE = "private" + OFFLINE = "offline" + +class SecurityLevel(enum.Enum): + STRONG = "strong" + NORMAL = "normal" + NORMAL_MINUS = "normal-minus" + WEAK = "weak" + +class DBMode(enum.Enum): + LOCAL = "local" + CACHE = "cache" + REMOTE = "remote" \ No newline at end of file diff --git a/comfyui_manager/glob/manager_core.py b/comfyui_manager/glob/manager_core.py index 001a5f0c..3e199a2c 100644 --- a/comfyui_manager/glob/manager_core.py +++ b/comfyui_manager/glob/manager_core.py @@ -38,7 +38,7 @@ from . import manager_util from . import git_utils from . import manager_downloader from .node_package import InstalledNodePackage - +from .enums import NetworkMode, SecurityLevel, DBMode version_code = [4, 0] version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') @@ -736,7 +736,7 @@ class UnifiedManager: self.unknown_active_nodes = {} # node_id -> repo url * fullpath self.active_nodes = {} # node_id -> node_version * fullpath - if get_config()['network_mode'] != 'public': + if get_config()['network_mode'] != 'public' or manager_util.is_manager_pip_package(): dont_wait = True # reload 'cnr_map' and 'repo_cnr_map' @@ -1671,9 +1671,9 @@ def read_config(): 'model_download_by_agent': get_bool('model_download_by_agent', False), 'downgrade_blacklist': default_conf.get('downgrade_blacklist', '').lower(), 'always_lazy_install': get_bool('always_lazy_install', False), - 'network_mode': default_conf.get('network_mode', 'public').lower(), - 'security_level': default_conf.get('security_level', 'normal').lower(), - 'db_mode': default_conf.get('db_mode', 'cache').lower(), + 'network_mode': default_conf.get('network_mode', NetworkMode.PUBLIC.value).lower(), + 'security_level': default_conf.get('security_level', SecurityLevel.NORMAL.value).lower(), + 'db_mode': default_conf.get('db_mode', DBMode.CACHE.value).lower(), } except Exception: @@ -1694,9 +1694,9 @@ def read_config(): 'model_download_by_agent': False, 'downgrade_blacklist': '', 'always_lazy_install': False, - 'network_mode': 'public', # public | private | offline - 'security_level': 'normal', # strong | normal | normal- | weak - 'db_mode': 'cache', # local | cache | remote + 'network_mode': NetworkMode.OFFLINE.value, + 'security_level': SecurityLevel.NORMAL.value, + 'db_mode': DBMode.CACHE.value, } @@ -2193,7 +2193,7 @@ async def get_data_by_mode(mode, filename, channel_url=None): cache_uri = str(manager_util.simple_hash(uri))+'_'+filename cache_uri = os.path.join(manager_util.cache_dir, cache_uri) - if get_config()['network_mode'] == 'offline': + if get_config()['network_mode'] == 'offline' or manager_util.is_manager_pip_package(): # offline network mode if os.path.exists(cache_uri): json_obj = await manager_util.get_data(cache_uri) diff --git a/comfyui_manager/glob/manager_server.py b/comfyui_manager/glob/manager_server.py index a79e9b27..c10db2c3 100644 --- a/comfyui_manager/glob/manager_server.py +++ b/comfyui_manager/glob/manager_server.py @@ -25,7 +25,12 @@ from . import manager_downloader logging.info(f"### Loading: ComfyUI-Manager ({core.version_str})") -logging.info("[ComfyUI-Manager] network_mode: " + core.get_config()['network_mode']) + +if not manager_util.is_manager_pip_package(): + network_mode_description = "offline" +else: + network_mode_description = core.get_config()['network_mode'] +logging.info("[ComfyUI-Manager] network_mode: " + network_mode_description) comfy_ui_hash = "-" comfyui_tag = None @@ -1665,7 +1670,7 @@ async def default_cache_update(): logging.error(f"[ComfyUI-Manager] Failed to perform initial fetching '{filename}': {e}") traceback.print_exc() - if core.get_config()['network_mode'] != 'offline': + if core.get_config()['network_mode'] != 'offline' and not manager_util.is_manager_pip_package(): a = get_cache("custom-node-list.json") b = get_cache("extension-node-map.json") c = get_cache("model-list.json") diff --git a/comfyui_manager/glob/manager_util.py b/comfyui_manager/glob/manager_util.py index 2fac5156..ae63bdd8 100644 --- a/comfyui_manager/glob/manager_util.py +++ b/comfyui_manager/glob/manager_util.py @@ -25,6 +25,8 @@ cache_dir = os.path.join(comfyui_manager_path, '.cache') # This path is also up use_uv = False +def is_manager_pip_package(): + return not os.path.exists(os.path.join(comfyui_manager_path, '..', 'custom_nodes')) def add_python_path_to_env(): if platform.system() != "Windows":