mirror of
https://git.datalinker.icu/ltdrdata/ComfyUI-Manager
synced 2025-12-09 06:04:31 +08:00
improve: don't show fetch message when startup caching.
fix: date based version compare instead of revision https://github.com/ltdrdata/ComfyUI-Manager/issues/363#issuecomment-1907200900 fix: copy&paste bug https://github.com/ltdrdata/ComfyUI-Manager/issues/357#issuecomment-1909284450
This commit is contained in:
parent
8077765d47
commit
2646e84d3a
62
__init__.py
62
__init__.py
@ -7,7 +7,6 @@ import folder_paths
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
import datetime
|
|
||||||
import locale
|
import locale
|
||||||
import subprocess # don't remove this
|
import subprocess # don't remove this
|
||||||
from tqdm.auto import tqdm
|
from tqdm.auto import tqdm
|
||||||
@ -17,6 +16,8 @@ import http.client
|
|||||||
import re
|
import re
|
||||||
import nodes
|
import nodes
|
||||||
import hashlib
|
import hashlib
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import cm_global
|
import cm_global
|
||||||
@ -102,9 +103,11 @@ sys.path.append('../..')
|
|||||||
|
|
||||||
from torchvision.datasets.utils import download_url
|
from torchvision.datasets.utils import download_url
|
||||||
|
|
||||||
comfy_ui_required_revision = 1917
|
comfy_ui_required_revision = 1930
|
||||||
|
comfy_ui_required_commit_datetime = datetime(2024, 1, 24, 0, 0, 0)
|
||||||
|
|
||||||
comfy_ui_revision = "Unknown"
|
comfy_ui_revision = "Unknown"
|
||||||
comfy_ui_commit_date = ""
|
comfy_ui_commit_datetime = datetime(1900, 1, 1, 0, 0, 0)
|
||||||
|
|
||||||
comfy_path = os.path.dirname(folder_paths.__file__)
|
comfy_path = os.path.dirname(folder_paths.__file__)
|
||||||
custom_nodes_path = os.path.join(comfy_path, 'custom_nodes')
|
custom_nodes_path = os.path.join(comfy_path, 'custom_nodes')
|
||||||
@ -259,14 +262,7 @@ def set_component_policy(mode):
|
|||||||
|
|
||||||
|
|
||||||
def try_install_script(url, repo_path, install_cmd):
|
def try_install_script(url, repo_path, install_cmd):
|
||||||
int_comfyui_revision = 0
|
if platform.system() == "Windows" and comfy_ui_commit_datetime.date() >= comfy_ui_required_commit_datetime.date():
|
||||||
|
|
||||||
if type(comfy_ui_revision) == int:
|
|
||||||
int_comfyui_revision = comfy_ui_revision
|
|
||||||
elif comfy_ui_revision.isdigit():
|
|
||||||
int_comfyui_revision = int(comfy_ui_revision)
|
|
||||||
|
|
||||||
if platform.system() == "Windows" and int_comfyui_revision >= comfy_ui_required_revision:
|
|
||||||
if not os.path.exists(startup_script_path):
|
if not os.path.exists(startup_script_path):
|
||||||
os.makedirs(startup_script_path)
|
os.makedirs(startup_script_path)
|
||||||
|
|
||||||
@ -282,9 +278,9 @@ def try_install_script(url, repo_path, install_cmd):
|
|||||||
|
|
||||||
if platform.system() == "Windows":
|
if platform.system() == "Windows":
|
||||||
try:
|
try:
|
||||||
if int(comfy_ui_revision) < comfy_ui_required_revision:
|
if comfy_ui_commit_datetime.date() < comfy_ui_required_commit_datetime.date():
|
||||||
print("\n\n###################################################################")
|
print("\n\n###################################################################")
|
||||||
print(f"[WARN] ComfyUI-Manager: Your ComfyUI version ({comfy_ui_revision}) is too old. Please update to the latest version.")
|
print(f"[WARN] ComfyUI-Manager: Your ComfyUI version ({comfy_ui_revision})[{comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version.")
|
||||||
print(f"[WARN] The extension installation feature may not work properly in the current installed ComfyUI version on Windows environment.")
|
print(f"[WARN] The extension installation feature may not work properly in the current installed ComfyUI version on Windows environment.")
|
||||||
print("###################################################################\n\n")
|
print("###################################################################\n\n")
|
||||||
except:
|
except:
|
||||||
@ -298,7 +294,7 @@ def try_install_script(url, repo_path, install_cmd):
|
|||||||
|
|
||||||
def print_comfyui_version():
|
def print_comfyui_version():
|
||||||
global comfy_ui_revision
|
global comfy_ui_revision
|
||||||
global comfy_ui_commit_date
|
global comfy_ui_commit_datetime
|
||||||
global comfy_ui_hash
|
global comfy_ui_hash
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -310,14 +306,14 @@ def print_comfyui_version():
|
|||||||
|
|
||||||
cm_global.variables['comfyui.revision'] = comfy_ui_revision
|
cm_global.variables['comfyui.revision'] = comfy_ui_revision
|
||||||
|
|
||||||
|
comfy_ui_commit_datetime = repo.head.commit.committed_datetime
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if int(comfy_ui_revision) < comfy_ui_required_revision:
|
if comfy_ui_commit_datetime.date() < comfy_ui_required_commit_datetime.date():
|
||||||
print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({comfy_ui_revision}) is too old. Please update to the latest version. ##\n\n")
|
print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({comfy_ui_revision})[{comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n")
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
comfy_ui_commit_date = repo.head.commit.committed_datetime.date()
|
|
||||||
|
|
||||||
# process on_revision_detected -->
|
# process on_revision_detected -->
|
||||||
if 'cm.on_revision_detected_handler' in cm_global.variables:
|
if 'cm.on_revision_detected_handler' in cm_global.variables:
|
||||||
for k, f in cm_global.variables['cm.on_revision_detected_handler']:
|
for k, f in cm_global.variables['cm.on_revision_detected_handler']:
|
||||||
@ -333,9 +329,9 @@ def print_comfyui_version():
|
|||||||
# <--
|
# <--
|
||||||
|
|
||||||
if current_branch == "master":
|
if current_branch == "master":
|
||||||
print(f"### ComfyUI Revision: {comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{comfy_ui_commit_date}'")
|
print(f"### ComfyUI Revision: {comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{comfy_ui_commit_datetime.date()}'")
|
||||||
else:
|
else:
|
||||||
print(f"### ComfyUI Revision: {comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{comfy_ui_commit_date}'")
|
print(f"### ComfyUI Revision: {comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{comfy_ui_commit_datetime.date()}'")
|
||||||
except:
|
except:
|
||||||
print("### ComfyUI Revision: UNKNOWN (The currently installed ComfyUI is not a Git repository)")
|
print("### ComfyUI Revision: UNKNOWN (The currently installed ComfyUI is not a Git repository)")
|
||||||
|
|
||||||
@ -526,8 +522,10 @@ def git_pull(path):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def get_data(uri):
|
async def get_data(uri, silent=False):
|
||||||
print(f"FETCH DATA from: {uri}")
|
if not silent:
|
||||||
|
print(f"FETCH DATA from: {uri}")
|
||||||
|
|
||||||
if uri.startswith("http"):
|
if uri.startswith("http"):
|
||||||
async with aiohttp.ClientSession(trust_env=True, connector=aiohttp.TCPConnector(verify_ssl=False)) as session:
|
async with aiohttp.ClientSession(trust_env=True, connector=aiohttp.TCPConnector(verify_ssl=False)) as session:
|
||||||
async with session.get(uri) as resp:
|
async with session.get(uri) as resp:
|
||||||
@ -595,7 +593,7 @@ def is_file_created_within_one_day(file_path):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
file_creation_time = os.path.getctime(file_path)
|
file_creation_time = os.path.getctime(file_path)
|
||||||
current_time = datetime.datetime.now().timestamp()
|
current_time = datetime.now().timestamp()
|
||||||
time_difference = current_time - file_creation_time
|
time_difference = current_time - file_creation_time
|
||||||
|
|
||||||
return time_difference <= 86400
|
return time_difference <= 86400
|
||||||
@ -1077,14 +1075,14 @@ def get_current_snapshot():
|
|||||||
|
|
||||||
|
|
||||||
def save_snapshot_with_postfix(postfix):
|
def save_snapshot_with_postfix(postfix):
|
||||||
now = datetime.datetime.now()
|
now = datetime.now()
|
||||||
|
|
||||||
date_time_format = now.strftime("%Y-%m-%d_%H-%M-%S")
|
date_time_format = now.strftime("%Y-%m-%d_%H-%M-%S")
|
||||||
file_name = f"{date_time_format}_{postfix}"
|
file_name = f"{date_time_format}_{postfix}"
|
||||||
|
|
||||||
path = os.path.join(os.path.dirname(__file__), 'snapshots', f"{file_name}.json")
|
path = os.path.join(os.path.dirname(__file__), 'snapshots', f"{file_name}.json")
|
||||||
with open(path, "w") as json_file:
|
with open(path, "w") as json_file:
|
||||||
json.dump(get_current_snapshot(), json_file, indent=4)
|
json.dump(get_current_snapshot(), json_file, indent=4)
|
||||||
|
|
||||||
|
|
||||||
@server.PromptServer.instance.routes.get("/snapshot/get_current")
|
@server.PromptServer.instance.routes.get("/snapshot/get_current")
|
||||||
@ -1831,12 +1829,12 @@ async def get_notice(request):
|
|||||||
|
|
||||||
if match:
|
if match:
|
||||||
markdown_content = match.group(1)
|
markdown_content = match.group(1)
|
||||||
markdown_content += f"<HR>ComfyUI: {comfy_ui_revision}[{comfy_ui_hash[:6]}]({comfy_ui_commit_date})"
|
markdown_content += f"<HR>ComfyUI: {comfy_ui_revision}[{comfy_ui_hash[:6]}]({comfy_ui_commit_datetime.date()})"
|
||||||
# markdown_content += f"<BR> ()"
|
# markdown_content += f"<BR> ()"
|
||||||
markdown_content += f"<BR>Manager: {version_str}"
|
markdown_content += f"<BR>Manager: {version_str}"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if comfy_ui_required_revision > int(comfy_ui_revision):
|
if comfy_ui_required_commit_datetime.date() > comfy_ui_commit_datetime.date():
|
||||||
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content
|
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
@ -2321,7 +2319,7 @@ async def default_cache_update():
|
|||||||
cache_uri = str(simple_hash(uri)) + '_' + filename
|
cache_uri = str(simple_hash(uri)) + '_' + filename
|
||||||
cache_uri = os.path.join(cache_dir, cache_uri)
|
cache_uri = os.path.join(cache_dir, cache_uri)
|
||||||
|
|
||||||
json_obj = await get_data(uri)
|
json_obj = await get_data(uri, True)
|
||||||
|
|
||||||
with cache_lock:
|
with cache_lock:
|
||||||
with open(cache_uri, "w", encoding='utf-8') as file:
|
with open(cache_uri, "w", encoding='utf-8') as file:
|
||||||
|
|||||||
@ -467,7 +467,7 @@ def check_windows_event_loop_policy():
|
|||||||
config.read(config_path)
|
config.read(config_path)
|
||||||
default_conf = config['default']
|
default_conf = config['default']
|
||||||
|
|
||||||
if 'bypass_ssl' in default_conf and default_conf['windows_selector_event_loop_policy'].lower() == 'true':
|
if 'windows_selector_event_loop_policy' in default_conf and default_conf['windows_selector_event_loop_policy'].lower() == 'true':
|
||||||
try:
|
try:
|
||||||
import asyncio
|
import asyncio
|
||||||
import asyncio.windows_events
|
import asyncio.windows_events
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user