From 254ad8c597d3f956c8c354eba2e80d872333282e Mon Sep 17 00:00:00 2001 From: hayden Date: Mon, 11 Nov 2024 12:08:01 +0800 Subject: [PATCH] pref: optimize parameter transmission --- __init__.py | 6 ++++-- py/download.py | 16 ++++++++-------- py/services.py | 24 +++++++++++------------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/__init__.py b/__init__.py index 1e608ff..31e6d87 100644 --- a/__init__.py +++ b/__init__.py @@ -99,7 +99,8 @@ async def create_model(request): """ post = await request.post() try: - task_id = await services.create_model_download_task(post, request) + task_data = dict(post) + task_id = await services.create_model_download_task(task_data, request) return web.json_response({"success": True, "data": {"taskId": task_id}}) except Exception as e: error_msg = f"Create model download task failed: {str(e)}" @@ -163,7 +164,8 @@ async def update_model(request): model_path = utils.get_valid_full_path(model_type, index, filename) if model_path is None: raise RuntimeError(f"File {filename} not found") - services.update_model(model_path, post) + model_data = dict(post) + services.update_model(model_path, model_data) return web.json_response({"success": True}) except Exception as e: error_msg = f"Update model failed: {str(e)}" diff --git a/py/download.py b/py/download.py index af30fe3..0fee52b 100644 --- a/py/download.py +++ b/py/download.py @@ -111,13 +111,13 @@ async def scan_model_download_task_list(): return utils.unpack_dataclass(task_list) -async def create_model_download_task(post: dict, request): +async def create_model_download_task(task_data: dict, request): """ Creates a download task for the given post. """ - model_type = post.get("type", None) - path_index = int(post.get("pathIndex", None)) - fullname = post.get("fullname", None) + model_type = task_data.get("type", None) + path_index = int(task_data.get("pathIndex", None)) + fullname = task_data.get("fullname", None) model_path = utils.get_full_path(model_type, path_index, fullname) # Check if the model path is valid @@ -132,16 +132,16 @@ async def create_model_download_task(post: dict, request): raise RuntimeError(f"Task {task_id} already exists") try: - previewFile = post.pop("previewFile", None) + previewFile = task_data.pop("previewFile", None) utils.save_model_preview_image(task_path, previewFile) - set_task_content(task_id, post) + set_task_content(task_id, task_data) task_status = TaskStatus( taskId=task_id, type=model_type, fullname=fullname, preview=utils.get_model_preview_name(task_path), - platform=post.get("downloadPlatform", None), - totalSize=float(post.get("sizeBytes", 0)), + platform=task_data.get("downloadPlatform", None), + totalSize=float(task_data.get("sizeBytes", 0)), ) download_model_task_status[task_id] = task_status await utils.send_json("create_download_task", task_status) diff --git a/py/services.py b/py/services.py index a94c0c7..9a6c7e5 100644 --- a/py/services.py +++ b/py/services.py @@ -2,7 +2,6 @@ import os import folder_paths -from multidict import MultiDictProxy from . import config from . import utils from . import download @@ -75,20 +74,20 @@ def get_model_info(model_path: str): } -def update_model(model_path: str, post: MultiDictProxy): +def update_model(model_path: str, model_data: dict): - if "previewFile" in post: - previewFile = post["previewFile"] + if "previewFile" in model_data: + previewFile = model_data["previewFile"] utils.save_model_preview_image(model_path, previewFile) - if "description" in post: - description = post["description"] + if "description" in model_data: + description = model_data["description"] utils.save_model_description(model_path, description) - if "type" in post and "pathIndex" in post and "fullname" in post: - model_type = post.get("type", None) - path_index = int(post.get("pathIndex", None)) - fullname = post.get("fullname", None) + if "type" in model_data and "pathIndex" in model_data and "fullname" in model_data: + model_type = model_data.get("type", None) + path_index = int(model_data.get("pathIndex", None)) + fullname = model_data.get("fullname", None) if model_type is None or path_index is None or fullname is None: raise RuntimeError("Invalid type or pathIndex or fullname") @@ -111,9 +110,8 @@ def remove_model(model_path: str): os.remove(utils.join_path(model_dirname, description)) -async def create_model_download_task(post, request): - dict_post = dict(post) - return await download.create_model_download_task(dict_post, request) +async def create_model_download_task(task_data, request): + return await download.create_model_download_task(task_data, request) async def scan_model_download_task_list():