From 6650298c3de3913321b6d54b6ef18af9d7bb1ddd Mon Sep 17 00:00:00 2001 From: "Schmidt Till (CSS TO PME DSI PAO MUC)" Date: Thu, 10 Sep 2026 23:32:40 +0200 Subject: [PATCH] refactor: address review feedback on multipart field compatibility and form serialization --- app.py | 18 ++++++++++++++---- static/index.html | 9 ++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app.py b/app.py index 71744f8..a81aec4 100644 --- a/app.py +++ b/app.py @@ -47,12 +47,22 @@ def read_root(): @app.post("/api/clean") async def clean_endpoint( - file: UploadFile = File(...), + file: UploadFile | None = File(default=None), + image: UploadFile | None = File(default=None), prompt: str = Form(default=DEFAULT_PROMPT), model: str = Form(default=DEFAULT_MODEL), api_key: str | None = Form(default=None), restore_res: bool = Form(default=True), + restore_resolution: bool | None = Form(default=None), ): + upload_file = file or image + if upload_file is None: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Image file is required (field 'file' or 'image').", + ) + + effective_restore = restore_resolution if restore_resolution is not None else restore_res effective_api_key = resolve_api_key(api_key) if not effective_api_key: raise HTTPException( @@ -61,9 +71,9 @@ async def clean_endpoint( ) try: - file_bytes = await file.read() + file_bytes = await upload_file.read() finally: - await file.close() + await upload_file.close() if not file_bytes: raise HTTPException( @@ -83,7 +93,7 @@ async def clean_endpoint( prompt=prompt, api_key=effective_api_key, model=model, - restore_res=restore_res, + restore_res=effective_restore, ) except CleanerError as exc: raise HTTPException( diff --git a/static/index.html b/static/index.html index c746aaa..e6180cb 100644 --- a/static/index.html +++ b/static/index.html @@ -800,6 +800,7 @@ try { const formData = new FormData(); + formData.append("file", selectedFile); formData.append("image", selectedFile); formData.append("prompt", promptTextarea.value); formData.append("model", modelInput.value.trim() || "meta/muse-image"); @@ -808,11 +809,9 @@ if (apiKey) { formData.append("api_key", apiKey); } - formData.append( - "restore_resolution", - restoreResolutionCheckbox.checked ? "true" : "false" - ); - + const shouldRestore = restoreResolutionCheckbox.checked ? "true" : "false"; + formData.append("restore_res", shouldRestore); + formData.append("restore_resolution", shouldRestore); const response = await fetch("/api/clean", { method: "POST", body: formData,