sync online ver

This commit is contained in:
hongyi.ren
2024-09-14 21:05:15 +08:00
parent 835e88faa2
commit 917a394430
3 changed files with 13 additions and 24 deletions
@@ -1,5 +1,6 @@
import os
import sys
import glob
import subprocess
import re
import shutil
@@ -16,7 +17,7 @@ import json
import time
import yaml
import zipfile
import glob
import traceback
glob_path = os.path.join(os.path.dirname(__file__)) # ComfyUI-Manager/glob
sys.path.append(glob_path)
@@ -528,14 +529,16 @@ def is_valid_url(url):
return False
def get_cached_git(url):
cached_git_repo = [os.path.basename(i) for i in glob.glob("/Users/renhy/tmp/*")]
cached_git_repo = [os.path.basename(i) for i in glob.glob("/mnt/comfyui-test/custom_nodes/*")]
repo_name = url.strip().split("/")[-1]
user_name = os.environ["USER_NAME"]
if repo_name in cached_git_repo:
print(f"Find downloaded custom_node: '{url}")
os.symlink("/Users/renhy/tmp/"+repo_name, "/Users/renhy/ComfyUI/custom_nodes/"+repo_name)
os.symlink("/mnt/comfyui-test/custom_nodes/"+repo_name, "/mnt/comfyui-test/custom_nodes_users/" + user_name + "/" + repo_name)
return True
return False
def gitclone_install(files, instant_execution=False, msg_prefix=''):
print(f"{msg_prefix}Install: {files}")
for url in files:
@@ -556,7 +559,6 @@ def gitclone_install(files, instant_execution=False, msg_prefix=''):
if res != 0:
return False
else:
# os.system("git clone -v --recursive --progress -- " + url + " " + repo_path)
if not get_cached_git(url):
repo = git.Repo.clone_from(url, repo_path, recursive=True, progress=GitProgress())
repo.git.clear_cache()
@@ -566,13 +568,13 @@ def gitclone_install(files, instant_execution=False, msg_prefix=''):
return False
except Exception as e:
print(traceback.format_exc())
print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr)
return False
print("Installation was successful.")
return True
def git_pull(path):
# Check if the path is a git repository
if not os.path.exists(os.path.join(path, '.git')):
@@ -777,14 +777,13 @@ def copy_set_active(files, is_disable, js_path_name='.'):
@PromptServer.instance.routes.post("/customnode/install")
async def install_custom_node(request):
# if not is_allowed_security_level('middle'):
# print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
# return web.Response(status=403)
if not is_allowed_security_level('middle'):
print(f"ERROR: To use this action, a security_level of `middle or below` is required. Please contact the administrator.")
return web.Response(status=403)
json_data = await request.json()
# risky_level = await get_risky_level(json_data['files'])
risky_level = "normal"
risky_level = await get_risky_level(json_data['files'])
if not is_allowed_security_level(risky_level):
print(f"ERROR: This installation is not allowed in this security_level. Please contact the administrator.")
return web.Response(status=404)
@@ -886,19 +885,6 @@ async def modelscope_reset_personal_customnodes(request):
data = {"Message":"Successfully cleaned personal custom nodes."}
return web.Response(text=json.dumps(data), status=200)
# @PromptServer.instance.routes.post("/customnode/install/pip")
# async def install_custom_node_git_url(request):
# if not is_allowed_security_level('high'):
# print(f"ERROR: To use this feature, you must set '--listen' to a local IP and set the security level to 'middle' or 'weak'. Please contact the administrator.")
# return web.Response(status=403)
#
# packages = await request.text()
# core.pip_install(packages.split(' '))
#
# return web.Response(status=200)
@PromptServer.instance.routes.post("/customnode/uninstall")
async def uninstall_custom_node(request):
if not is_allowed_security_level('middle'):
@@ -1683,6 +1669,7 @@ import asyncio
async def default_cache_update():
async def get_cache(filename):
uri = 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filename
print(uri)
cache_uri = str(core.simple_hash(uri)) + '_' + filename
cache_uri = os.path.join(core.cache_dir, cache_uri)
@@ -1498,4 +1498,4 @@ async function set_default_ui()
}
}
set_default_ui();
set_default_ui();