diff --git a/modules/rembg/rembg_api.py b/modules/rembg/rembg_api.py index ff8adf5f2..44a6c6b70 100644 --- a/modules/rembg/rembg_api.py +++ b/modules/rembg/rembg_api.py @@ -40,5 +40,4 @@ async def post_rembg( def register_api(app): - print('HERE') app.add_api_route("/sdapi/v1/rembg", post_rembg, methods=["POST"], tags=["REMBG"]) diff --git a/modules/scripts_postprocessing.py b/modules/scripts_postprocessing.py index dc7c66986..33726232d 100644 --- a/modules/scripts_postprocessing.py +++ b/modules/scripts_postprocessing.py @@ -18,7 +18,7 @@ class ScriptPostprocessing: args_from = None args_to = None order = 1000 # scripts will be ordred by this value in postprocessing UI - name = None # this function should return the title of the script + name = 'unknown' # this function should return the title of the script group = None # A gr.Group component that has all script's UI inside it def ui(self): @@ -39,6 +39,9 @@ class ScriptPostprocessing: def image_changed(self): pass + def __str__(self): + return f"ScriptPostprocessing(name={self.name} filename={self.filename})" + def wrap_call(func, filename, funcname, *args, default=None, **kwargs): try: @@ -60,6 +63,9 @@ class ScriptPostprocessingRunner: for script_class, path, _basedir, _script_module in scripts_data: script: ScriptPostprocessing = script_class() script.filename = path + if script.name is None or script.name == "unknown": + log.warning(f'Script: path={path} cls={script_class} invalid') + continue if script.name == "Simple Upscale": continue self.scripts.append(script) @@ -68,7 +74,9 @@ class ScriptPostprocessingRunner: script.args_from = len(inputs) script.args_to = len(inputs) script.controls = wrap_call(script.ui, script.filename, "ui") - for control in script.controls.values() if script.controls is not None else []: + if script.controls is None: + script.controls = {} + for control in script.controls.values(): control.custom_script_source = os.path.basename(script.filename) inputs += list(script.controls.values()) script.args_to = len(inputs) diff --git a/scripts/postprocessing_rembg.py b/scripts/postprocessing_rembg.py index 2d57ae7c8..9e3bba6e4 100644 --- a/scripts/postprocessing_rembg.py +++ b/scripts/postprocessing_rembg.py @@ -1,7 +1,7 @@ import os import gradio as gr from PIL import Image -from modules.scripts_postprocessing import ScriptPostprocessing, PostprocessedImage +from modules import scripts_postprocessing models = [ @@ -18,7 +18,7 @@ models = [ ] -class ScriptPostprocessingUpscale(ScriptPostprocessing): +class ScriptPostprocessingRembg(scripts_postprocessing.ScriptPostprocessing): name = "Remove background" order = 20000 model = None @@ -59,7 +59,7 @@ class ScriptPostprocessingUpscale(ScriptPostprocessing): "alpha_matting_erode_size": alpha_matting_erode_size, } - def process(self, pp: PostprocessedImage, model, merge_alpha, refine, mask_only, postprocess_mask, alpha_matting, alpha_matting_foreground_threshold, alpha_matting_background_threshold, alpha_matting_erode_size): # pylint: disable=arguments-differ + def process(self, pp: scripts_postprocessing.PostprocessedImage, model, merge_alpha, refine, mask_only, postprocess_mask, alpha_matting, alpha_matting_foreground_threshold, alpha_matting_background_threshold, alpha_matting_erode_size): # pylint: disable=arguments-differ from modules.logger import log if not model or model == "none": return pp @@ -108,7 +108,7 @@ class ScriptPostprocessingUpscale(ScriptPostprocessing): image = flattened if isinstance(pp, Image.Image): - pp = PostprocessedImage(image=image, info={ **info, 'Rembg': model }) + pp = scripts_postprocessing.PostprocessedImage(image=image, info={**info, "Rembg": model}) else: pp.image = image pp.info['Rembg'] = model