diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-04-29 17:29:23 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 17:29:23 +0000 |
commit | 0d32cb2cf5ce1927295dcf8de0b2989968e95c38 (patch) | |
tree | b4c96b7d9056890fde266cd9f09afc6c9aa09db4 /modules/api/api.py | |
parent | aac478cb9d39354bdb7778a37529d931dc3f87d6 (diff) | |
parent | 90e465982270b85812c94961696b7ba4d2c4d38c (diff) | |
download | stable-diffusion-webui-gfx803-0d32cb2cf5ce1927295dcf8de0b2989968e95c38.tar.gz stable-diffusion-webui-gfx803-0d32cb2cf5ce1927295dcf8de0b2989968e95c38.tar.bz2 stable-diffusion-webui-gfx803-0d32cb2cf5ce1927295dcf8de0b2989968e95c38.zip |
Merge branch 'dev' into master
Diffstat (limited to 'modules/api/api.py')
-rw-r--r-- | modules/api/api.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index 2346efd2..cdbdce32 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -6,7 +6,6 @@ import uvicorn import gradio as gr from threading import Lock from io import BytesIO -from gradio_client.utils import decode_base64_to_file from fastapi import APIRouter, Depends, FastAPI, Request, Response from fastapi.security import HTTPBasic, HTTPBasicCredentials from fastapi.exceptions import HTTPException @@ -131,8 +130,8 @@ def api_middleware(app: FastAPI): "body": vars(e).get('body', ''), "errors": str(e), } - print(f"API error: {request.method}: {request.url} {err}") if not isinstance(e, HTTPException): # do not print backtrace on known httpexceptions + print(f"API error: {request.method}: {request.url} {err}") if rich_available: console.print_exception(show_locals=True, max_frames=2, extra_lines=1, suppress=[anyio, starlette], word_wrap=False, width=min([console.width, 200])) else: @@ -272,7 +271,9 @@ class Api: raise HTTPException(status_code=422, detail=f"Cannot have a selectable script in the always on scripts params") # always on script with no arg should always run so you don't really need to add them to the requests if "args" in request.alwayson_scripts[alwayson_script_name]: - script_args[alwayson_script.args_from:alwayson_script.args_to] = request.alwayson_scripts[alwayson_script_name]["args"] + # min between arg length in scriptrunner and arg length in the request + for idx in range(0, min((alwayson_script.args_to - alwayson_script.args_from), len(request.alwayson_scripts[alwayson_script_name]["args"]))): + script_args[alwayson_script.args_from + idx] = request.alwayson_scripts[alwayson_script_name]["args"][idx] return script_args def text2imgapi(self, txt2imgreq: StableDiffusionTxt2ImgProcessingAPI): @@ -395,16 +396,11 @@ class Api: def extras_batch_images_api(self, req: ExtrasBatchImagesRequest): reqDict = setUpscalers(req) - def prepareFiles(file): - file = decode_base64_to_file(file.data, file_path=file.name) - file.orig_name = file.name - return file - - reqDict['image_folder'] = list(map(prepareFiles, reqDict['imageList'])) - reqDict.pop('imageList') + image_list = reqDict.pop('imageList', []) + image_folder = [decode_base64_to_image(x.data) for x in image_list] with self.queue_lock: - result = postprocessing.run_extras(extras_mode=1, image="", input_dir="", output_dir="", save_output=False, **reqDict) + result = postprocessing.run_extras(extras_mode=1, image_folder=image_folder, image="", input_dir="", output_dir="", save_output=False, **reqDict) return ExtrasBatchImagesResponse(images=list(map(encode_pil_to_base64, result[0])), html_info=result[1]) |