Update legacy_preprocessor_loader.py

This commit is contained in:
lllyasviel 2024-01-28 17:26:29 -08:00
parent 588ba2956d
commit 09889797a3

View File

@ -11,26 +11,57 @@ from legacy_preprocessors.preprocessor_meta import cn_preprocessor_modules, cn_p
from legacy_preprocessors.preprocessor import model_free_preprocessors, no_control_mode_preprocessors, flag_preprocessor_resolution, preprocessor_sliders_config, preprocessor_filters, preprocessor_filters_aliases
class LegacyPreprocessor(Preprocessor):
def __init__(self):
super().__init__()
self.legacy_call_function = None
self.legacy_unload_function = None
return
def special_get(d, k, default=None):
k1 = k
k2 = preprocessor_filters_aliases.get(k, k)
k3 = reverse_preprocessor_aliases.get(k, k)
for pk in [k1, k2, k3]:
if pk in d:
return d[pk]
return default
def special_judge_in(d, k):
k1 = k
k2 = preprocessor_filters_aliases.get(k, k)
k3 = reverse_preprocessor_aliases.get(k, k)
for pk in [k1, k2, k3]:
if pk in d:
return True
return False
legacy_preprocessors = {}
for k in ui_preprocessor_keys:
p = LegacyPreprocessor()
p.name = k
real_key = reverse_preprocessor_aliases.get(k, k)
if real_key not in cn_preprocessor_modules:
print(f'bad key {real_key}')
continue
p.legacy_call_function = cn_preprocessor_modules[real_key]
p.legacy_unload_function = cn_preprocessor_unloadable.get(real_key, lambda: None)
legacy_preprocessors[k] = p
for name in ui_preprocessor_keys:
call_function = special_get(cn_preprocessor_modules, name, None)
assert call_function is not None
unload_function = special_get(cn_preprocessor_unloadable, name, None)
model_free = special_judge_in(model_free_preprocessors, name)
no_control_mode = special_judge_in(no_control_mode_preprocessors, name)
slider_config = special_get(preprocessor_sliders_config, name, [])
resolution = slider_config[0] if len(slider_config) > 0 else None
slider_1 = slider_config[1] if len(slider_config) > 1 else None
slider_2 = slider_config[2] if len(slider_config) > 2 else None
slider_3 = slider_config[3] if len(slider_config) > 3 else None
legacy_preprocessors[name] = dict(
name=name,
call_function=call_function,
unload_function=unload_function,
model_free=model_free,
no_control_mode=no_control_mode,
resolution=resolution,
slider_1=slider_1,
slider_2=slider_2,
slider_3=slider_3
)
a = 0