diff options
author | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-02-22 09:52:53 +0000 |
---|---|---|
committer | space-nuko <24979496+space-nuko@users.noreply.github.com> | 2023-02-22 09:52:53 +0000 |
commit | a2d635ad135241a0a40f67f7e1638c9c8a4ded04 (patch) | |
tree | 6ade834a27f4e12b9d5cd291f335620d74376683 /modules/scripts.py | |
parent | 0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8 (diff) | |
download | stable-diffusion-webui-gfx803-a2d635ad135241a0a40f67f7e1638c9c8a4ded04.tar.gz stable-diffusion-webui-gfx803-a2d635ad135241a0a40f67f7e1638c9c8a4ded04.tar.bz2 stable-diffusion-webui-gfx803-a2d635ad135241a0a40f67f7e1638c9c8a4ded04.zip |
Add before_process_batch script callback
Diffstat (limited to 'modules/scripts.py')
-rw-r--r-- | modules/scripts.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/modules/scripts.py b/modules/scripts.py index 24056a12..e6a505b3 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -80,6 +80,20 @@ class Script: pass
+ def before_process_batch(self, p, *args, **kwargs):
+ """
+ Called before extra networks are parsed from the prompt, so you can add
+ new extra network keywords to the prompt with this callback.
+
+ **kwargs will have those items:
+ - batch_number - index of current batch, from 0 to number of batches-1
+ - prompts - list of prompts for current batch; you can change contents of this list but changing the number of entries will likely break things
+ - seeds - list of seeds for current batch
+ - subseeds - list of subseeds for current batch
+ """
+
+ pass
+
def process_batch(self, p, *args, **kwargs):
"""
Same as process(), but called for every batch.
@@ -388,6 +402,15 @@ class ScriptRunner: print(f"Error running process: {script.filename}", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
+ def before_process_batch(self, p, **kwargs):
+ for script in self.alwayson_scripts:
+ try:
+ script_args = p.script_args[script.args_from:script.args_to]
+ script.before_process_batch(p, *script_args, **kwargs)
+ except Exception:
+ print(f"Error running before_process_batch: {script.filename}", file=sys.stderr)
+ print(traceback.format_exc(), file=sys.stderr)
+
def process_batch(self, p, **kwargs):
for script in self.alwayson_scripts:
try:
|