diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-17 07:22:03 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-30 07:42:42 +0000 |
commit | bb07cb6a0df60a96827125ffc09ea182a1ed272c (patch) | |
tree | e84c1769371fbfa797a13d29ab49a7089f8c78b7 /modules/generation_parameters_copypaste.py | |
parent | de03882d6ca56bc81058f5120f028678a6a54aaa (diff) | |
download | stable-diffusion-webui-gfx803-bb07cb6a0df60a96827125ffc09ea182a1ed272c.tar.gz stable-diffusion-webui-gfx803-bb07cb6a0df60a96827125ffc09ea182a1ed272c.tar.bz2 stable-diffusion-webui-gfx803-bb07cb6a0df60a96827125ffc09ea182a1ed272c.zip |
a
Diffstat (limited to 'modules/generation_parameters_copypaste.py')
-rw-r--r-- | modules/generation_parameters_copypaste.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py index dbffe494..4b4727c4 100644 --- a/modules/generation_parameters_copypaste.py +++ b/modules/generation_parameters_copypaste.py @@ -28,6 +28,19 @@ class ParamBinding: self.paste_field_names = paste_field_names or []
+class PasteField(tuple):
+ def __new__(cls, component, target, *, api=None):
+ return super().__new__(cls, (component, target))
+
+ def __init__(self, component, target, *, api=None):
+ super().__init__()
+
+ self.api = api
+ self.component = component
+ self.label = target if isinstance(target, str) else None
+ self.function = target if callable(target) else None
+
+
paste_fields: dict[str, dict] = {}
registered_param_bindings: list[ParamBinding] = []
@@ -84,6 +97,12 @@ def image_from_url_text(filedata): def add_paste_fields(tabname, init_img, fields, override_settings_component=None):
+
+ if fields:
+ for i in range(len(fields)):
+ if not isinstance(fields[i], PasteField):
+ fields[i] = PasteField(*fields[i])
+
paste_fields[tabname] = {"init_img": init_img, "fields": fields, "override_settings_component": override_settings_component}
# backwards compatibility for existing extensions
|