From 3dd74892e5348d1bc9125b2c262c81dc7255a626 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:03:11 +1100 Subject: [PATCH] Ensure custom paths are used during startup Normal paths are accessed during class instantiation. Setting folder paths from arguments early in the process prevents default paths from being created. If "input" dir is not a sibling of main.py, an attempt to create it will still be made when folder_paths is imported. --- main.py | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/main.py b/main.py index 05eb31c7a..d52612040 100644 --- a/main.py +++ b/main.py @@ -191,18 +191,6 @@ if __name__ == "__main__": folder_paths.set_temp_directory(temp_dir) cleanup_temp() - if args.windows_standalone_build: - try: - import new_updater - new_updater.update_windows_updater() - except: - pass - - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - server = server.PromptServer(loop) - q = execution.PromptQueue(server) - extra_model_paths_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "extra_model_paths.yaml") if os.path.isfile(extra_model_paths_config_path): utils.extra_config.load_extra_path_config(extra_model_paths_config_path) @@ -211,15 +199,6 @@ if __name__ == "__main__": for config_path in itertools.chain(*args.extra_model_paths_config): utils.extra_config.load_extra_path_config(config_path) - nodes.init_extra_nodes(init_custom_nodes=not args.disable_all_custom_nodes) - - cuda_malloc_warning() - - server.add_routes() - hijack_progress(server) - - threading.Thread(target=prompt_worker, daemon=True, args=(q, server,)).start() - if args.output_directory: output_dir = os.path.abspath(args.output_directory) logging.info(f"Setting output directory to: {output_dir}") @@ -242,6 +221,27 @@ if __name__ == "__main__": logging.info(f"Setting user directory to: {user_dir}") folder_paths.set_user_directory(user_dir) + if args.windows_standalone_build: + try: + import new_updater + new_updater.update_windows_updater() + except: + pass + + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + server = server.PromptServer(loop) + q = execution.PromptQueue(server) + + nodes.init_extra_nodes(init_custom_nodes=not args.disable_all_custom_nodes) + + cuda_malloc_warning() + + server.add_routes() + hijack_progress(server) + + threading.Thread(target=prompt_worker, daemon=True, args=(q, server,)).start() + if args.quick_test_for_ci: exit(0)