Browse Source

support preview method setting feature

pull/43/head
Dr.Lt.Data 1 year ago
parent
commit
4da930814d
  1. 3
      README.md
  2. 79
      __init__.py
  3. 19
      js/comfyui-manager.js
  4. BIN
      misc/menu.png

3
README.md

@ -32,6 +32,7 @@ You can execute ComfyUI by running either `./run_gpu.sh` or `./run_cpu.sh` depen
# Changes # Changes
* **0.17** Support preview method setting feature
* **0.14** Support robust update * **0.14** Support robust update
* **0.13** Support additional 'pip' section for install spec * **0.13** Support additional 'pip' section for install spec
* **0.12** Better installation support for Windows. * **0.12** Better installation support for Windows.
@ -51,7 +52,7 @@ You can execute ComfyUI by running either `./run_gpu.sh` or `./run_cpu.sh` depen
2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open. 2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open.
![menu](misc/menu.png) ![menu](misc/menu.jpg)
* When the 'Use local DB' feature is enabled, the application will utilize the data stored locally on your device, rather than retrieving node/model information over the internet * When the 'Use local DB' feature is enabled, the application will utilize the data stored locally on your device, rather than retrieving node/model information over the internet

79
__init__.py

@ -1,3 +1,4 @@
import configparser
import shutil import shutil
import folder_paths import folder_paths
import os, sys import os, sys
@ -32,7 +33,7 @@ sys.path.append('../..')
from torchvision.datasets.utils import download_url from torchvision.datasets.utils import download_url
# ensure .js # ensure .js
print("### Loading: ComfyUI-Manager (V0.16)") print("### Loading: ComfyUI-Manager (V0.17)")
comfy_ui_revision = "Unknown" comfy_ui_revision = "Unknown"
@ -48,6 +49,71 @@ local_db_extension_node_mappings = os.path.join(comfyui_manager_path, "extension
git_script_path = os.path.join(os.path.dirname(__file__), "git_helper.py") git_script_path = os.path.join(os.path.dirname(__file__), "git_helper.py")
startup_script_path = os.path.join(comfyui_manager_path, "startup-scripts") startup_script_path = os.path.join(comfyui_manager_path, "startup-scripts")
config_path = os.path.join(os.path.dirname(__file__), "config.ini")
cached_config = None
from comfy.cli_args import args
import latent_preview
def write_config():
config = configparser.ConfigParser()
config['default'] = {
'preview_method': get_current_preview_method(),
}
with open(config_path, 'w') as configfile:
config.write(configfile)
def read_config():
try:
config = configparser.ConfigParser()
config.read(config_path)
default_conf = config['default']
return {
'preview_method': default_conf['preview_method']
}
except Exception:
return {'preview_method': get_current_preview_method()}
def get_config():
global cached_config
if cached_config is None:
cached_config = read_config()
return cached_config
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 set_preview_method(method):
if method == 'auto':
args.preview_method = latent_preview.LatentPreviewMethod.Auto
elif method == 'latent2rgb':
args.preview_method = latent_preview.LatentPreviewMethod.Latent2RGB
elif method == 'taesd':
args.preview_method = latent_preview.LatentPreviewMethod.TAESD
else:
args.preview_method = latent_preview.LatentPreviewMethod.NoPreviews
get_config()['preview_method'] = args.preview_method
set_preview_method(get_config()['preview_method'])
def try_install_script(url, repo_path, install_cmd): def try_install_script(url, repo_path, install_cmd):
@ -855,5 +921,16 @@ async def install_model(request):
return web.Response(status=400) return web.Response(status=400)
@server.PromptServer.instance.routes.get("/manager/preview_method")
async def preview_method(request):
if "value" in request.rel_url.query:
set_preview_method(request.rel_url.query['value'])
write_config()
else:
return web.Response(text=get_current_preview_method(), status=200)
return web.Response(status=200)
NODE_CLASS_MAPPINGS = {} NODE_CLASS_MAPPINGS = {}
__all__ = ['NODE_CLASS_MAPPINGS'] __all__ = ['NODE_CLASS_MAPPINGS']

19
js/comfyui-manager.js vendored

@ -1338,6 +1338,20 @@ class ManagerMenuDialog extends ComfyDialog {
() => fetchUpdates() () => fetchUpdates()
}); });
let preview_combo = document.createElement("select");
preview_combo.appendChild($el('option', {value:'auto', text:'Preview method: Auto'}, []));
preview_combo.appendChild($el('option', {value:'taesd', text:'Preview method: TAESD'}, []));
preview_combo.appendChild($el('option', {value:'latent2rgb', text:'Preview method: Latent2RGB'}, []));
preview_combo.appendChild($el('option', {value:'none', text:'Preview method: None'}, []));
fetch('/manager/preview_method')
.then(response => response.text())
.then(data => { preview_combo.value = data; })
preview_combo.addEventListener('change', function(event) {
fetch(`/manager/preview_method?value=${event.target.value}`);
});
const res = const res =
[ [
$el("tr.td", {width:"100%"}, [$el("font", {size:6, color:"white"}, [`ComfyUI Manager Menu`])]), $el("tr.td", {width:"100%"}, [$el("font", {size:6, color:"white"}, [`ComfyUI Manager Menu`])]),
@ -1401,6 +1415,11 @@ class ManagerMenuDialog extends ComfyDialog {
}), }),
$el("br", {}, []), $el("br", {}, []),
$el("hr", {width: "100%"}, []),
preview_combo,
$el("hr", {width: "100%"}, []),
$el("br", {}, []),
$el("button", { $el("button", {
type: "button", type: "button",
textContent: "Close", textContent: "Close",

BIN
misc/menu.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Loading…
Cancel
Save