From 52c21579b004dd5aa465518b03a0cb83fb8d3813 Mon Sep 17 00:00:00 2001 From: Haoming Date: Mon, 25 May 2026 11:03:10 +0800 Subject: [PATCH] ext --- modules/extensions.py | 12 +++++++++++- modules_forge/config.py | 12 +++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/extensions.py b/modules/extensions.py index 9d5f3a69..eed20750 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -6,10 +6,12 @@ import os import re import threading +from rich import print + from modules import cache, errors, scripts, shared from modules.gitpython_hack import Repo from modules.paths_internal import extensions_builtin_dir, extensions_dir, script_path # noqa: F401 -from modules_forge.config import always_disabled_extensions +from modules_forge.config import always_disabled_extensions, prefer_official_extensions extensions: list["Extension"] = [] extension_paths: dict[str, "Extension"] = {} @@ -264,6 +266,14 @@ def list_extensions(): extension = Extension(name=extension_dirname, path=path, enabled=extension_dirname not in disabled_extensions, is_builtin=is_builtin, metadata=metadata) + for ext, url in prefer_official_extensions.items(): + if not ext.lower() in extension_dirname.lower(): + continue + if "neo" in extension_dirname.lower(): + continue + print(f'*** Extension "{extension_dirname}" might be outdated!') + print(f'*** > Recommended to install "{url}" instead') + extensions.append(extension) extension_paths[extension.path] = extension loaded_extensions[canonical_name] = extension diff --git a/modules_forge/config.py b/modules_forge/config.py index 4a8970e0..be762998 100644 --- a/modules_forge/config.py +++ b/modules_forge/config.py @@ -1,4 +1,10 @@ -always_disabled_extensions = [ - 'sd-webui-controlnet', - 'multidiffusion-upscaler-for-automatic1111', +from typing import Final + +always_disabled_extensions: Final[list[str]] = [ + "sd-webui-controlnet", + "multidiffusion-upscaler-for-automatic1111", ] + +prefer_official_extensions: Final[dict[str, str]] = { + "ADetailer": "https://github.com/Haoming02/ADetailer-Neo", +}