aboutsummaryrefslogtreecommitdiffstats
path: root/modules/script_callbacks.py
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2023-06-01 05:42:50 +0000
committerAUTOMATIC <16777216c@gmail.com>2023-06-01 05:42:50 +0000
commitb3390a984081950c626070889580e01727689921 (patch)
treef1fb3352f91d70034d54a99c220f1ca594d8b3dc /modules/script_callbacks.py
parent0cc05fc492a9360d3b2f1b3f64c7d74f9041f74e (diff)
parent36888092afa82ee248bc947229f813b453629317 (diff)
downloadstable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.tar.gz
stable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.tar.bz2
stable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.zip
Merge branch 'dev' into startup-profile
Diffstat (limited to 'modules/script_callbacks.py')
-rw-r--r--modules/script_callbacks.py29
1 files changed, 23 insertions, 6 deletions
diff --git a/modules/script_callbacks.py b/modules/script_callbacks.py
index ecffc206..54824582 100644
--- a/modules/script_callbacks.py
+++ b/modules/script_callbacks.py
@@ -1,18 +1,15 @@
-import sys
-import traceback
-from collections import namedtuple
import inspect
+from collections import namedtuple
from typing import Optional, Dict, Any
from fastapi import FastAPI
from gradio import Blocks
-from modules import timer
+from modules import errors, timer
def report_exception(c, job):
- print(f"Error executing callback {job} for {c.script}", file=sys.stderr)
- print(traceback.format_exc(), file=sys.stderr)
+ errors.report(f"Error executing callback {job} for {c.script}", exc_info=True)
class ImageSaveParams:
@@ -113,6 +110,7 @@ callback_map = dict(
callbacks_before_ui=[],
callbacks_on_reload=[],
callbacks_list_optimizers=[],
+ callbacks_list_unets=[],
)
@@ -274,6 +272,18 @@ def list_optimizers_callback():
return res
+def list_unets_callback():
+ res = []
+
+ for c in callback_map['callbacks_list_unets']:
+ try:
+ c.callback(res)
+ except Exception:
+ report_exception(c, 'list_unets')
+
+ return res
+
+
def add_callback(callbacks, fun):
stack = [x for x in inspect.stack() if x.filename != __file__]
filename = stack[0].filename if len(stack) > 0 else 'unknown file'
@@ -433,3 +443,10 @@ def on_list_optimizers(callback):
to it."""
add_callback(callback_map['callbacks_list_optimizers'], callback)
+
+
+def on_list_unets(callback):
+ """register a function to be called when UI is making a list of alternative options for unet.
+ The function will be called with one argument, a list, and shall add objects of type modules.sd_unet.SdUnetOption to it."""
+
+ add_callback(callback_map['callbacks_list_unets'], callback)