diff options
author | AUTOMATIC <16777216c@gmail.com> | 2022-10-29 19:20:02 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2022-10-29 19:20:02 +0000 |
commit | 9bb6b6509aff8c1e6546d5a798ef9e9922758dc4 (patch) | |
tree | 94c0285637823a12fa519faf331ba5922bb17622 /modules/scripts.py | |
parent | 35c45df28b303a05d56a13cb56d4046f08cf8c25 (diff) | |
download | stable-diffusion-webui-gfx803-9bb6b6509aff8c1e6546d5a798ef9e9922758dc4.tar.gz stable-diffusion-webui-gfx803-9bb6b6509aff8c1e6546d5a798ef9e9922758dc4.tar.bz2 stable-diffusion-webui-gfx803-9bb6b6509aff8c1e6546d5a798ef9e9922758dc4.zip |
add postprocess call for scripts
Diffstat (limited to 'modules/scripts.py')
-rw-r--r-- | modules/scripts.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/modules/scripts.py b/modules/scripts.py index a7f36012..96e44bfd 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -64,7 +64,16 @@ class Script: def process(self, p, *args):
"""
This function is called before processing begins for AlwaysVisible scripts.
- scripts. You can modify the processing object (p) here, inject hooks, etc.
+ You can modify the processing object (p) here, inject hooks, etc.
+ args contains all values returned by components from ui()
+ """
+
+ pass
+
+ def postprocess(self, p, processed, *args):
+ """
+ This function is called after processing ends for AlwaysVisible scripts.
+ args contains all values returned by components from ui()
"""
pass
@@ -289,13 +298,22 @@ class ScriptRunner: return processed
- def run_alwayson_scripts(self, p):
+ def process(self, p):
for script in self.alwayson_scripts:
try:
script_args = p.script_args[script.args_from:script.args_to]
script.process(p, *script_args)
except Exception:
- print(f"Error running alwayson script: {script.filename}", file=sys.stderr)
+ print(f"Error running process: {script.filename}", file=sys.stderr)
+ print(traceback.format_exc(), file=sys.stderr)
+
+ def postprocess(self, p, processed):
+ for script in self.alwayson_scripts:
+ try:
+ script_args = p.script_args[script.args_from:script.args_to]
+ script.postprocess(p, processed, *script_args)
+ except Exception:
+ print(f"Error running postprocess: {script.filename}", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
def reload_sources(self, cache):
|