diff options
author | evshiron <evshiron@gmail.com> | 2022-10-29 19:47:24 +0000 |
---|---|---|
committer | evshiron <evshiron@gmail.com> | 2022-10-29 19:49:00 +0000 |
commit | 7f5212fb5f96092058da4a6f58b1a9037565a00f (patch) | |
tree | 2fa2ec615e57aaac4a37a6c29f5a36a0ebdf961e /modules/scripts.py | |
parent | 6b719c49b193a7dfeb64aacfdc8437037e07a2d1 (diff) | |
parent | d699720254365069866eafcdc519743664075a6d (diff) | |
download | stable-diffusion-webui-gfx803-7f5212fb5f96092058da4a6f58b1a9037565a00f.tar.gz stable-diffusion-webui-gfx803-7f5212fb5f96092058da4a6f58b1a9037565a00f.tar.bz2 stable-diffusion-webui-gfx803-7f5212fb5f96092058da4a6f58b1a9037565a00f.zip |
Merge branch 'master' into feat/progress-api
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):
|