mirror of
https://github.com/Bing-su/adetailer.git
synced 2026-01-26 19:29:54 +00:00
fix: controlnet ext if
This commit is contained in:
@@ -260,8 +260,11 @@ class AfterDetailerScript(scripts.Script):
|
||||
return w.tolist()
|
||||
|
||||
def init_controlnet_ext(self) -> None:
|
||||
if self.controlnet_ext is None:
|
||||
self.controlnet_ext = ControlNetExt()
|
||||
if self.controlnet_ext is not None:
|
||||
return
|
||||
self.controlnet_ext = ControlNetExt()
|
||||
|
||||
if controlnet_exists:
|
||||
try:
|
||||
self.controlnet_ext.init_controlnet()
|
||||
except ImportError:
|
||||
@@ -271,6 +274,16 @@ class AfterDetailerScript(scripts.Script):
|
||||
file=sys.stderr,
|
||||
)
|
||||
|
||||
def update_controlnet_args(self, p, args: ADetailerArgs) -> None:
|
||||
if (
|
||||
self.controlnet_ext is not None
|
||||
and self.controlnet_ext.cn_available
|
||||
and args.ad_controlnet_model != "None"
|
||||
):
|
||||
self.controlnet_ext.update_scripts_args(
|
||||
p, args.ad_controlnet_model, args.ad_controlnet_weight
|
||||
)
|
||||
|
||||
def is_ad_enabled(self, *args_) -> bool:
|
||||
if len(args_) < 2:
|
||||
message = f"""[-] ADetailer: Not enough arguments passed to adetailer.
|
||||
@@ -393,8 +406,6 @@ class AfterDetailerScript(scripts.Script):
|
||||
if sampler_name in ["PLMS", "UniPC"]:
|
||||
sampler_name = "Euler"
|
||||
|
||||
self.init_controlnet_ext()
|
||||
|
||||
i2i = StableDiffusionProcessingImg2Img(
|
||||
init_images=[image],
|
||||
resize_mode=0,
|
||||
@@ -433,6 +444,7 @@ class AfterDetailerScript(scripts.Script):
|
||||
i2i.script_args = deepcopy(p.script_args)
|
||||
i2i._disable_adetailer = True
|
||||
|
||||
self.init_controlnet_ext()
|
||||
self.update_controlnet_args(i2i, args)
|
||||
return i2i
|
||||
|
||||
@@ -457,16 +469,6 @@ class AfterDetailerScript(scripts.Script):
|
||||
raise ValueError(msg)
|
||||
return model_mapping[name]
|
||||
|
||||
def update_controlnet_args(self, p, args: ADetailerArgs) -> None:
|
||||
if (
|
||||
self.controlnet_ext is not None
|
||||
and self.controlnet_ext.cn_available
|
||||
and args.ad_controlnet_model != "None"
|
||||
):
|
||||
self.controlnet_ext.update_scripts_args(
|
||||
p, args.ad_controlnet_model, args.ad_controlnet_weight
|
||||
)
|
||||
|
||||
def process(self, p, *args_):
|
||||
if getattr(p, "_disable_adetailer", False):
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user