Skip to content

Commit 89d8804

Browse files
committed
only run install.py for enabled extensions
1 parent ef567b0 commit 89d8804

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

launch.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import importlib.util
66
import shlex
77
import platform
8+
import argparse
9+
import json
810

911
dir_repos = "repositories"
1012
dir_extensions = "extensions"
@@ -132,11 +134,26 @@ def run_extension_installer(extension_dir):
132134
print(e, file=sys.stderr)
133135

134136

135-
def run_extensions_installers():
137+
def list_extensions(settings_file):
138+
settings = {}
139+
140+
try:
141+
if os.path.isfile(settings_file):
142+
with open(settings_file, "r", encoding="utf8") as file:
143+
settings = json.load(file)
144+
except Exception as e:
145+
print(e, file=sys.stderr)
146+
147+
disabled_extensions = set(settings.get('disabled_extensions', []))
148+
149+
return [x for x in os.listdir(dir_extensions) if x not in disabled_extensions]
150+
151+
152+
def run_extensions_installers(settings_file):
136153
if not os.path.isdir(dir_extensions):
137154
return
138155

139-
for dirname_extension in os.listdir(dir_extensions):
156+
for dirname_extension in list_extensions(settings_file):
140157
run_extension_installer(os.path.join(dir_extensions, dirname_extension))
141158

142159

@@ -165,6 +182,10 @@ def prepare_enviroment():
165182

166183
sys.argv += shlex.split(commandline_args)
167184

185+
parser = argparse.ArgumentParser()
186+
parser.add_argument("--ui-settings-file", type=str, help="filename to use for ui settings", default='config.json')
187+
args, _ = parser.parse_known_args(sys.argv)
188+
168189
sys.argv, skip_torch_cuda_test = extract_arg(sys.argv, '--skip-torch-cuda-test')
169190
sys.argv, reinstall_xformers = extract_arg(sys.argv, '--reinstall-xformers')
170191
sys.argv, update_check = extract_arg(sys.argv, '--update-check')
@@ -223,7 +244,7 @@ def prepare_enviroment():
223244

224245
run_pip(f"install -r {requirements_file}", "requirements for Web UI")
225246

226-
run_extensions_installers()
247+
run_extensions_installers(settings_file=args.ui_settings_file)
227248

228249
if update_check:
229250
version_check(commit)

0 commit comments

Comments
 (0)