MODIFIED: remove config.ini to <user_path>/default/manager-ext.ini

FIXED: confusing of config handler with manager-core
This commit is contained in:
Dr.Lt.Data 2024-10-14 00:31:16 +09:00
parent 559d4c1185
commit 929453d105
2 changed files with 38 additions and 65 deletions

View File

@ -5,40 +5,57 @@ import manager_core as core
import cm_global
from manager_util import *
import folder_paths
from comfy.cli_args import args
import latent_preview
version_code = [3, 0]
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"
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
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():
config = configparser.ConfigParser()
config['default'] = {
'preview_method': get_current_preview_method(),
'share_option': get_config()['share_option'],
"file_logging": get_config()['file_logging'],
'default_ui': get_config()['default_ui'],
'component_policy': get_config()['component_policy'],
'double_click_policy': get_config()['double_click_policy'],
'model_download_by_agent': get_config()['model_download_by_agent'],
'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)
def read_config():
try:
config = configparser.ConfigParser()
config.read(config_path)
config.read(manager_core_config_path)
default_conf = config['default']
# policy migration: disable_unsecure_features -> security_level
security_level = default_conf['security_level'] if 'security_level' in default_conf else 'normal'
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',
'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',
@ -49,6 +66,7 @@ def read_config():
except Exception:
return {
'preview_method': get_current_preview_method(),
'share_option': 'all',
'default_ui': 'none',
'component_policy': 'workflow',

View File

@ -88,17 +88,6 @@ async def get_risky_level(files, pip_packages):
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
components_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'components'))
@ -114,35 +103,25 @@ def set_preview_method(method):
else:
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):
core.get_config()['default_ui'] = mode
ext_core.get_config()['default_ui'] = 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):
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
import server
from aiohttp import web
import aiohttp
@ -738,9 +717,9 @@ async def terminal_mode(request):
async def preview_method(request):
if "value" in request.rel_url.query:
set_preview_method(request.rel_url.query['value'])
core.write_config()
ext_core.write_config()
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)
@ -749,9 +728,9 @@ async def preview_method(request):
async def default_ui_mode(request):
if "value" in request.rel_url.query:
set_default_ui_mode(request.rel_url.query['value'])
core.write_config()
ext_core.write_config()
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)
@ -760,9 +739,9 @@ async def default_ui_mode(request):
async def component_policy(request):
if "value" in request.rel_url.query:
set_component_policy(request.rel_url.query['value'])
core.write_config()
ext_core.write_config()
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)
@ -771,33 +750,9 @@ async def component_policy(request):
async def dbl_click_policy(request):
if "value" in request.rel_url.query:
set_double_click_policy(request.rel_url.query['value'])
core.write_config()
ext_core.write_config()
else:
return web.Response(text=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(text=ext_core.get_config()['double_click_policy'], status=200)
return web.Response(status=200)
@ -945,9 +900,9 @@ if hasattr(PromptServer.instance, "app"):
def sanitize(data):
return data.replace("<", "&lt;").replace(">", "&gt;")
if not os.path.exists(core.config_path):
core.get_config()
core.write_config()
if not os.path.exists(ext_core.manager_core_config_path):
ext_core.get_config()
ext_core.write_config()
cm_global.register_extension('ComfyUI-Manager',
{'version': core.version,