This commit is contained in:
Sas van Gulik 2025-12-14 11:02:46 +01:00 committed by GitHub
commit a5a4182336
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 1 deletions

View File

@ -47,6 +47,7 @@ parser.add_argument("--extra-model-paths-config", type=str, default=None, metava
parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory. Overrides --base-directory.") parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory. Overrides --base-directory.")
parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory). Overrides --base-directory.") parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory). Overrides --base-directory.")
parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory. Overrides --base-directory.") parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory. Overrides --base-directory.")
parser.add_argument("--custom-nodes-directory", type=str, default=None, help="Set the ComfyUI custom_nodes directory. Overrides --base-directory.")
parser.add_argument("--auto-launch", action="store_true", help="Automatically launch ComfyUI in the default browser.") parser.add_argument("--auto-launch", action="store_true", help="Automatically launch ComfyUI in the default browser.")
parser.add_argument("--disable-auto-launch", action="store_true", help="Disable auto launching the browser.") parser.add_argument("--disable-auto-launch", action="store_true", help="Disable auto launching the browser.")
parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use. All other devices will not be visible.") parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use. All other devices will not be visible.")

View File

@ -4,6 +4,7 @@ import os
import time import time
import mimetypes import mimetypes
import logging import logging
import sys
from typing import Literal, List from typing import Literal, List
from collections.abc import Collection from collections.abc import Collection
@ -117,6 +118,16 @@ def set_input_directory(input_dir: str) -> None:
global input_directory global input_directory
input_directory = input_dir input_directory = input_dir
def set_custom_nodes_directory(custom_nodes_dir: str) -> None:
global folder_names_and_paths
delimiter = ":"
if sys.platform in ("win32", "cygwin"):
delimiter = ";"
directories = custom_nodes_dir.split(delimiter)
folder_names_and_paths["custom_nodes"] = (directories, set())
def get_output_directory() -> str: def get_output_directory() -> str:
global output_directory global output_directory
return output_directory return output_directory

View File

@ -50,7 +50,7 @@ def apply_custom_paths():
for config_path in itertools.chain(*args.extra_model_paths_config): for config_path in itertools.chain(*args.extra_model_paths_config):
utils.extra_config.load_extra_path_config(config_path) utils.extra_config.load_extra_path_config(config_path)
# --output-directory, --input-directory, --user-directory # --output-directory, --input-directory, --user-directory, --custom-nodes-directory
if args.output_directory: if args.output_directory:
output_dir = os.path.abspath(args.output_directory) output_dir = os.path.abspath(args.output_directory)
logging.info(f"Setting output directory to: {output_dir}") logging.info(f"Setting output directory to: {output_dir}")
@ -74,6 +74,11 @@ def apply_custom_paths():
logging.info(f"Setting user directory to: {user_dir}") logging.info(f"Setting user directory to: {user_dir}")
folder_paths.set_user_directory(user_dir) folder_paths.set_user_directory(user_dir)
if args.custom_nodes_directory:
custom_nodes_dir = os.path.abspath(args.custom_nodes_directory)
logging.info(f"Setting custom nodes directory to: {custom_nodes_dir}")
folder_paths.set_custom_nodes_directory(custom_nodes_dir)
def execute_prestartup_script(): def execute_prestartup_script():
if args.disable_all_custom_nodes and len(args.whitelist_custom_nodes) == 0: if args.disable_all_custom_nodes and len(args.whitelist_custom_nodes) == 0: