diff options
author | AUTOMATIC <16777216c@gmail.com> | 2022-11-27 15:48:08 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2022-11-27 15:48:08 +0000 |
commit | 89d8804768d4479d72d24ebbbd2bd00650ef5dc7 (patch) | |
tree | e0254be46d4239d21bddf0521029e7c0f51d838a | |
parent | ef567b083cd7241f5215abdd0daa8775b1065ef8 (diff) | |
download | stable-diffusion-webui-gfx803-89d8804768d4479d72d24ebbbd2bd00650ef5dc7.tar.gz stable-diffusion-webui-gfx803-89d8804768d4479d72d24ebbbd2bd00650ef5dc7.tar.bz2 stable-diffusion-webui-gfx803-89d8804768d4479d72d24ebbbd2bd00650ef5dc7.zip |
only run install.py for enabled extensions
-rw-r--r-- | launch.py | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -5,6 +5,8 @@ import sys import importlib.util
import shlex
import platform
+import argparse
+import json
dir_repos = "repositories"
dir_extensions = "extensions"
@@ -132,11 +134,26 @@ def run_extension_installer(extension_dir): print(e, file=sys.stderr)
-def run_extensions_installers():
+def list_extensions(settings_file):
+ settings = {}
+
+ try:
+ if os.path.isfile(settings_file):
+ with open(settings_file, "r", encoding="utf8") as file:
+ settings = json.load(file)
+ except Exception as e:
+ print(e, file=sys.stderr)
+
+ disabled_extensions = set(settings.get('disabled_extensions', []))
+
+ return [x for x in os.listdir(dir_extensions) if x not in disabled_extensions]
+
+
+def run_extensions_installers(settings_file):
if not os.path.isdir(dir_extensions):
return
- for dirname_extension in os.listdir(dir_extensions):
+ for dirname_extension in list_extensions(settings_file):
run_extension_installer(os.path.join(dir_extensions, dirname_extension))
@@ -165,6 +182,10 @@ def prepare_enviroment(): sys.argv += shlex.split(commandline_args)
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--ui-settings-file", type=str, help="filename to use for ui settings", default='config.json')
+ args, _ = parser.parse_known_args(sys.argv)
+
sys.argv, skip_torch_cuda_test = extract_arg(sys.argv, '--skip-torch-cuda-test')
sys.argv, reinstall_xformers = extract_arg(sys.argv, '--reinstall-xformers')
sys.argv, update_check = extract_arg(sys.argv, '--update-check')
@@ -223,7 +244,7 @@ def prepare_enviroment(): run_pip(f"install -r {requirements_file}", "requirements for Web UI")
- run_extensions_installers()
+ run_extensions_installers(settings_file=args.ui_settings_file)
if update_check:
version_check(commit)
|