From 12569f7fdb318b690221f34e753b2f2ff0ad4d9f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 14 May 2023 08:02:36 -0400 Subject: [PATCH] match installed extensions --- extensions-builtin/sd-webui-controlnet | 2 +- installer.py | 4 +++- modules/ui_extensions.py | 8 ++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index 721159f7b..356fd3c0d 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit 721159f7b7f224db06b5f712167bbc315d5cd835 +Subproject commit 356fd3c0d69db78044a2f6c1cf808a85c40da6e8 diff --git a/installer.py b/installer.py index 70dc551be..77af023bc 100644 --- a/installer.py +++ b/installer.py @@ -564,6 +564,8 @@ def check_timestamp(): if setup_time < extension_time: ok = False log.debug(f'Timestamps: version:{version_time} setup:{setup_time} extension:{extension_time}') + if args.reinstall: + ok = False return ok @@ -644,12 +646,12 @@ def run_setup(): log.info('Forcing reinstall of all packages') check_torch() install_requirements() + install_packages() if check_timestamp(): log.info('No changes detected: Quick launch active') return log.info("Running setup") log.debug(f"Args: {vars(args)}") - install_packages() install_repositories() install_submodules() install_extensions() diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index ee56ac034..02728321c 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -24,13 +24,17 @@ def update_extension_list(): except: shared.log.debug(f'Extensions list failed to load: {os.path.join(paths.script_path, "html", "extensions.json")}') found = [] + for ext in extensions.extensions: + ext.read_info_from_repo() for ext in extensions_list: - installed = [extension for extension in extensions.extensions if extension.git_name == ext['name'] or extension.name == ext['name']] + installed = [extension for extension in extensions.extensions + if extension.git_name == ext['name'] + or extension.name == ext['name'] + or (extension.remote or '').startswith(ext['url'].replace('.git', ''))] if len(installed) > 0: found.append(installed[0]) not_matched = [extension for extension in extensions.extensions if extension not in found] for ext in not_matched: - ext.read_info_from_repo() entry = { "name": ext.name or "", "description": ext.description or "",