Split model get list (#74)

Get the model list separately by model type and defer the request.
This commit is contained in:
Hayden
2024-12-03 14:05:18 +08:00
committed by GitHub
parent 6d67b00b17
commit dc46f498be
7 changed files with 114 additions and 64 deletions

View File

@@ -89,6 +89,7 @@ async def delete_model_download_task(request):
return web.json_response({"success": False, "error": error_msg})
# @deprecated
@routes.get("/model-manager/base-folders")
async def get_model_paths(request):
"""
@@ -124,12 +125,12 @@ async def create_model(request):
@routes.get("/model-manager/models")
async def read_models(request):
async def list_model_types(request):
"""
Scan all models and read their information.
"""
try:
result = services.scan_models(request)
result = utils.resolve_model_base_paths()
return web.json_response({"success": True, "data": result})
except Exception as e:
error_msg = f"Read models failed: {str(e)}"
@@ -137,6 +138,18 @@ async def read_models(request):
return web.json_response({"success": False, "error": error_msg})
@routes.get("/model-manager/models/{folder}")
async def read_models(request):
try:
folder = request.match_info.get("folder", None)
results = services.scan_models(folder, request)
return web.json_response({"success": True, "data": results})
except Exception as e:
error_msg = f"Read models failed: {str(e)}"
utils.print_error(error_msg)
return web.json_response({"success": False, "error": error_msg})
@routes.get("/model-manager/model/{type}/{index}/{filename:.*}")
async def read_model_info(request):
"""