mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-01-27 14:30:15 +08:00
MODIFIED: remove config.ini to <user_path>/default/manager-ext.ini
FIXED: confusing of config handler with manager-core
This commit is contained in:
parent
559d4c1185
commit
929453d105
@ -5,40 +5,57 @@ import manager_core as core
|
|||||||
import cm_global
|
import cm_global
|
||||||
from manager_util import *
|
from manager_util import *
|
||||||
|
|
||||||
|
import folder_paths
|
||||||
|
from comfy.cli_args import args
|
||||||
|
import latent_preview
|
||||||
|
|
||||||
|
|
||||||
version_code = [3, 0]
|
version_code = [3, 0]
|
||||||
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||||
|
|
||||||
DEFAULT_CHANNEL = "https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main"
|
DEFAULT_CHANNEL = "https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main"
|
||||||
|
|
||||||
config_path = os.path.join(comfyui_manager_path, "config.ini")
|
manager_core_config_path = os.path.abspath(os.path.join(folder_paths.get_user_directory(), 'default', 'manager-ext.ini'))
|
||||||
cached_config = None
|
cached_config = None
|
||||||
|
|
||||||
|
|
||||||
|
def get_current_preview_method():
|
||||||
|
if args.preview_method == latent_preview.LatentPreviewMethod.Auto:
|
||||||
|
return "auto"
|
||||||
|
elif args.preview_method == latent_preview.LatentPreviewMethod.Latent2RGB:
|
||||||
|
return "latent2rgb"
|
||||||
|
elif args.preview_method == latent_preview.LatentPreviewMethod.TAESD:
|
||||||
|
return "taesd"
|
||||||
|
else:
|
||||||
|
return "none"
|
||||||
|
|
||||||
|
|
||||||
def write_config():
|
def write_config():
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
config['default'] = {
|
config['default'] = {
|
||||||
|
'preview_method': get_current_preview_method(),
|
||||||
'share_option': get_config()['share_option'],
|
'share_option': get_config()['share_option'],
|
||||||
"file_logging": get_config()['file_logging'],
|
|
||||||
'default_ui': get_config()['default_ui'],
|
'default_ui': get_config()['default_ui'],
|
||||||
'component_policy': get_config()['component_policy'],
|
'component_policy': get_config()['component_policy'],
|
||||||
'double_click_policy': get_config()['double_click_policy'],
|
'double_click_policy': get_config()['double_click_policy'],
|
||||||
'model_download_by_agent': get_config()['model_download_by_agent'],
|
'model_download_by_agent': get_config()['model_download_by_agent'],
|
||||||
'security_level': get_config()['security_level'],
|
'security_level': get_config()['security_level'],
|
||||||
}
|
}
|
||||||
with open(config_path, 'w') as configfile:
|
with open(manager_core_config_path, 'w') as configfile:
|
||||||
config.write(configfile)
|
config.write(configfile)
|
||||||
|
|
||||||
|
|
||||||
def read_config():
|
def read_config():
|
||||||
try:
|
try:
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
config.read(config_path)
|
config.read(manager_core_config_path)
|
||||||
default_conf = config['default']
|
default_conf = config['default']
|
||||||
|
|
||||||
# policy migration: disable_unsecure_features -> security_level
|
# policy migration: disable_unsecure_features -> security_level
|
||||||
security_level = default_conf['security_level'] if 'security_level' in default_conf else 'normal'
|
security_level = default_conf['security_level'] if 'security_level' in default_conf else 'normal'
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
'preview_method': default_conf['preview_method'] if 'preview_method' in default_conf else get_current_preview_method(),
|
||||||
'share_option': default_conf['share_option'] if 'share_option' in default_conf else 'all',
|
'share_option': default_conf['share_option'] if 'share_option' in default_conf else 'all',
|
||||||
'default_ui': default_conf['default_ui'] if 'default_ui' in default_conf else 'none',
|
'default_ui': default_conf['default_ui'] if 'default_ui' in default_conf else 'none',
|
||||||
'component_policy': default_conf['component_policy'] if 'component_policy' in default_conf else 'workflow',
|
'component_policy': default_conf['component_policy'] if 'component_policy' in default_conf else 'workflow',
|
||||||
@ -49,6 +66,7 @@ def read_config():
|
|||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
return {
|
return {
|
||||||
|
'preview_method': get_current_preview_method(),
|
||||||
'share_option': 'all',
|
'share_option': 'all',
|
||||||
'default_ui': 'none',
|
'default_ui': 'none',
|
||||||
'component_policy': 'workflow',
|
'component_policy': 'workflow',
|
||||||
|
|||||||
@ -88,17 +88,6 @@ async def get_risky_level(files, pip_packages):
|
|||||||
return "middle"
|
return "middle"
|
||||||
|
|
||||||
|
|
||||||
def get_current_preview_method(self):
|
|
||||||
if args.preview_method == latent_preview.LatentPreviewMethod.Auto:
|
|
||||||
return "auto"
|
|
||||||
elif args.preview_method == latent_preview.LatentPreviewMethod.Latent2RGB:
|
|
||||||
return "latent2rgb"
|
|
||||||
elif args.preview_method == latent_preview.LatentPreviewMethod.TAESD:
|
|
||||||
return "taesd"
|
|
||||||
else:
|
|
||||||
return "none"
|
|
||||||
|
|
||||||
|
|
||||||
from manager_downloader import download_url
|
from manager_downloader import download_url
|
||||||
|
|
||||||
components_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'components'))
|
components_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'components'))
|
||||||
@ -114,35 +103,25 @@ def set_preview_method(method):
|
|||||||
else:
|
else:
|
||||||
args.preview_method = latent_preview.LatentPreviewMethod.NoPreviews
|
args.preview_method = latent_preview.LatentPreviewMethod.NoPreviews
|
||||||
|
|
||||||
core.get_config()['preview_method'] = args.preview_method
|
ext_core.get_config()['preview_method'] = args.preview_method
|
||||||
|
|
||||||
|
|
||||||
set_preview_method(core.get_config()['preview_method'])
|
set_preview_method(ext_core.get_config()['preview_method'])
|
||||||
|
|
||||||
|
|
||||||
def set_default_ui_mode(mode):
|
def set_default_ui_mode(mode):
|
||||||
core.get_config()['default_ui'] = mode
|
ext_core.get_config()['default_ui'] = mode
|
||||||
|
|
||||||
|
|
||||||
def set_component_policy(mode):
|
def set_component_policy(mode):
|
||||||
core.get_config()['component_policy'] = mode
|
ext_core.get_config()['component_policy'] = mode
|
||||||
|
|
||||||
|
|
||||||
def set_double_click_policy(mode):
|
def set_double_click_policy(mode):
|
||||||
core.get_config()['double_click_policy'] = mode
|
ext_core.get_config()['double_click_policy'] = mode
|
||||||
|
|
||||||
|
|
||||||
def setup_environment():
|
|
||||||
git_exe = core.get_config()['git_exe']
|
|
||||||
|
|
||||||
if git_exe != '':
|
|
||||||
git.Git().update_environment(GIT_PYTHON_GIT_EXECUTABLE=git_exe)
|
|
||||||
|
|
||||||
|
|
||||||
setup_environment()
|
|
||||||
|
|
||||||
# Expand Server api
|
# Expand Server api
|
||||||
|
|
||||||
import server
|
import server
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
import aiohttp
|
import aiohttp
|
||||||
@ -738,9 +717,9 @@ async def terminal_mode(request):
|
|||||||
async def preview_method(request):
|
async def preview_method(request):
|
||||||
if "value" in request.rel_url.query:
|
if "value" in request.rel_url.query:
|
||||||
set_preview_method(request.rel_url.query['value'])
|
set_preview_method(request.rel_url.query['value'])
|
||||||
core.write_config()
|
ext_core.write_config()
|
||||||
else:
|
else:
|
||||||
return web.Response(text=core.manager_funcs.get_current_preview_method(), status=200)
|
return web.Response(text=ext_core.get_current_preview_method(), status=200)
|
||||||
|
|
||||||
return web.Response(status=200)
|
return web.Response(status=200)
|
||||||
|
|
||||||
@ -749,9 +728,9 @@ async def preview_method(request):
|
|||||||
async def default_ui_mode(request):
|
async def default_ui_mode(request):
|
||||||
if "value" in request.rel_url.query:
|
if "value" in request.rel_url.query:
|
||||||
set_default_ui_mode(request.rel_url.query['value'])
|
set_default_ui_mode(request.rel_url.query['value'])
|
||||||
core.write_config()
|
ext_core.write_config()
|
||||||
else:
|
else:
|
||||||
return web.Response(text=core.get_config()['default_ui'], status=200)
|
return web.Response(text=ext_core.get_config()['default_ui'], status=200)
|
||||||
|
|
||||||
return web.Response(status=200)
|
return web.Response(status=200)
|
||||||
|
|
||||||
@ -760,9 +739,9 @@ async def default_ui_mode(request):
|
|||||||
async def component_policy(request):
|
async def component_policy(request):
|
||||||
if "value" in request.rel_url.query:
|
if "value" in request.rel_url.query:
|
||||||
set_component_policy(request.rel_url.query['value'])
|
set_component_policy(request.rel_url.query['value'])
|
||||||
core.write_config()
|
ext_core.write_config()
|
||||||
else:
|
else:
|
||||||
return web.Response(text=core.get_config()['component_policy'], status=200)
|
return web.Response(text=ext_core.get_config()['component_policy'], status=200)
|
||||||
|
|
||||||
return web.Response(status=200)
|
return web.Response(status=200)
|
||||||
|
|
||||||
@ -771,33 +750,9 @@ async def component_policy(request):
|
|||||||
async def dbl_click_policy(request):
|
async def dbl_click_policy(request):
|
||||||
if "value" in request.rel_url.query:
|
if "value" in request.rel_url.query:
|
||||||
set_double_click_policy(request.rel_url.query['value'])
|
set_double_click_policy(request.rel_url.query['value'])
|
||||||
core.write_config()
|
ext_core.write_config()
|
||||||
else:
|
else:
|
||||||
return web.Response(text=core.get_config()['double_click_policy'], status=200)
|
return web.Response(text=ext_core.get_config()['double_click_policy'], status=200)
|
||||||
|
|
||||||
return web.Response(status=200)
|
|
||||||
|
|
||||||
|
|
||||||
@routes.get("/manager/channel_url_list")
|
|
||||||
async def channel_url_list(request):
|
|
||||||
channels = core.get_channel_dict()
|
|
||||||
if "value" in request.rel_url.query:
|
|
||||||
channel_url = channels.get(request.rel_url.query['value'])
|
|
||||||
if channel_url is not None:
|
|
||||||
core.get_config()['channel_url'] = channel_url
|
|
||||||
core.write_config()
|
|
||||||
else:
|
|
||||||
selected = 'custom'
|
|
||||||
selected_url = core.get_config()['channel_url']
|
|
||||||
|
|
||||||
for name, url in channels.items():
|
|
||||||
if url == selected_url:
|
|
||||||
selected = name
|
|
||||||
break
|
|
||||||
|
|
||||||
res = {'selected': selected,
|
|
||||||
'list': core.get_channel_list()}
|
|
||||||
return web.json_response(res, status=200)
|
|
||||||
|
|
||||||
return web.Response(status=200)
|
return web.Response(status=200)
|
||||||
|
|
||||||
@ -945,9 +900,9 @@ if hasattr(PromptServer.instance, "app"):
|
|||||||
def sanitize(data):
|
def sanitize(data):
|
||||||
return data.replace("<", "<").replace(">", ">")
|
return data.replace("<", "<").replace(">", ">")
|
||||||
|
|
||||||
if not os.path.exists(core.config_path):
|
if not os.path.exists(ext_core.manager_core_config_path):
|
||||||
core.get_config()
|
ext_core.get_config()
|
||||||
core.write_config()
|
ext_core.write_config()
|
||||||
|
|
||||||
cm_global.register_extension('ComfyUI-Manager',
|
cm_global.register_extension('ComfyUI-Manager',
|
||||||
{'version': core.version,
|
{'version': core.version,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user