feat: protobuf install, params, misc

This commit is contained in:
Bingsu
2023-05-01 17:24:14 +09:00
parent 9c24105ed1
commit 426b16c1f3
4 changed files with 26 additions and 9 deletions

View File

@@ -1 +1 @@
__version__ = "23.5.2.post1"
__version__ = "23.5.2.post2"

View File

@@ -22,13 +22,16 @@ def is_installed(
if not min_version and not max_version:
return True
pkg_version = version(package)
if not min_version:
min_version = "0.0.0"
if not max_version:
max_version = "99999999.99999999.99999999"
if package == "google.protobuf":
package = "protobuf"
try:
pkg_version = version(package)
return parse(min_version) <= parse(pkg_version) <= parse(max_version)
except Exception:
return False
@@ -48,16 +51,19 @@ def install():
("protobuf", "3.20.0", "3.20.9999"),
]
for name, low, high in deps:
for pkg, low, high in deps:
# https://github.com/protocolbuffers/protobuf/tree/main/python
name = "google.protobuf" if pkg == "protobuf" else pkg
if not is_installed(name, low, high):
if low and high:
cmd = f"{name}>={low},<={high}"
cmd = f"{pkg}>={low},<={high}"
elif low:
cmd = f"{name}>={low}"
cmd = f"{pkg}>={low}"
elif high:
cmd = f"{name}<={high}"
cmd = f"{pkg}<={high}"
else:
cmd = name
cmd = pkg
run_pip("-U", cmd)

View File

@@ -17,7 +17,7 @@ known_first_party = ["launch", "modules"]
[tool.ruff]
select = ["A", "B", "C4", "E", "F", "I001", "ISC", "N", "PIE", "PT", "RET", "SIM", "UP", "W"]
ignore = ["B008", "B905", "E501", "UP007", "F401"]
ignore = ["B008", "B905", "E501", "F401", "UP007"]
[tool.ruff.isort]
known-first-party = ["launch", "modules"]

View File

@@ -304,6 +304,11 @@ class AfterDetailerScript(scripts.Script):
params.pop("ADetailer prompt")
if not params["ADetailer negative prompt"]:
params.pop("ADetailer negative prompt")
if not params["ADetailer use inpaint width/height"]:
params.pop("ADetailer inpaint width")
params.pop("ADetailer inpaint height")
if params["ADetailer ControlNet model"] == "None":
params.pop("ADetailer ControlNet model")
params.pop("ADetailer ControlNet weight")
@@ -444,6 +449,12 @@ class AfterDetailerScript(scripts.Script):
self.update_controlnet_args(i2i, args)
return i2i
def get_ad_model(self, name: str):
if name not in model_mapping:
msg = f"[-] ADetailer: Model {name!r} not found. Available models: {list(model_mapping.keys())}"
raise ValueError(msg)
return model_mapping[name]
def update_controlnet_args(self, p, args: ADetailerArgs):
if (
self.controlnet_ext is not None
@@ -483,7 +494,7 @@ class AfterDetailerScript(scripts.Script):
ad_model = args.ad_model
else:
predictor = ultralytics_predict
ad_model = model_mapping[args.ad_model]
ad_model = self.get_ad_model(args.ad_model)
kwargs["device"] = self.ultralytics_device
with ChangeTorchLoad():