From ac4a168f1334089900682755048960acaac8fca2 Mon Sep 17 00:00:00 2001 From: Hayden <48267247+hayden-fr@users.noreply.github.com> Date: Mon, 11 Aug 2025 09:10:20 +0800 Subject: [PATCH] feat: support download multiple actual files (#196) --- py/information.py | 7 +-- src/components/DialogCreateTask.vue | 10 +++- src/components/ModelContent.vue | 2 +- src/hooks/download.ts | 75 ++++++++++++++++++++++++----- src/types/typings.d.ts | 11 +++++ 5 files changed, 89 insertions(+), 16 deletions(-) diff --git a/py/information.py b/py/information.py index 6b6747a..c4526c2 100644 --- a/py/information.py +++ b/py/information.py @@ -69,8 +69,8 @@ class CivitaiModelSearcher(ModelSearcher): models: list[dict] = [] for version in model_versions: - model_files: list[dict] = version.get("files", []) - model_files = utils.filter_with(model_files, {"type": "Model"}) + version_files: list[dict] = version.get("files", []) + model_files = utils.filter_with(version_files, {"type": "Model"}) shortname = version.get("name", None) if len(model_files) > 0 else None @@ -108,7 +108,7 @@ class CivitaiModelSearcher(ModelSearcher): description_parts.append("") model = { - "id": file.get("id"), + "id": version.get("id"), "shortname": shortname or basename, "basename": basename, "extension": extension, @@ -122,6 +122,7 @@ class CivitaiModelSearcher(ModelSearcher): "downloadPlatform": "civitai", "downloadUrl": file.get("downloadUrl"), "hashes": file.get("hashes"), + "files": version_files if len(version_files) > 1 else None, } models.append(model) diff --git a/src/components/DialogCreateTask.vue b/src/components/DialogCreateTask.vue index 659fb35..2378a2b 100644 --- a/src/components/DialogCreateTask.vue +++ b/src/components/DialogCreateTask.vue @@ -31,12 +31,20 @@