fix: content error in create download (#139)

This commit is contained in:
Hayden
2025-02-19 13:47:44 +08:00
committed by GitHub
parent 59552841e7
commit 3d01c2dfda
3 changed files with 25 additions and 14 deletions

View File

@@ -64,9 +64,9 @@ class CivitaiModelSearcher(ModelSearcher):
shortname = version.get("name", None) if len(model_files) > 0 else None shortname = version.get("name", None) if len(model_files) > 0 else None
for file in model_files: for file in model_files:
fullname = file.get("name", None) name = file.get("name", None)
extension = os.path.splitext(fullname)[1] extension = os.path.splitext(name)[1]
basename = os.path.splitext(fullname)[0] basename = os.path.splitext(name)[0]
metadata_info = { metadata_info = {
"website": "Civitai", "website": "Civitai",
@@ -99,13 +99,13 @@ class CivitaiModelSearcher(ModelSearcher):
model = { model = {
"id": file.get("id"), "id": file.get("id"),
"shortname": shortname or basename, "shortname": shortname or basename,
"fullname": fullname,
"basename": basename, "basename": basename,
"extension": extension, "extension": extension,
"preview": metadata_info.get("preview"), "preview": metadata_info.get("preview"),
"sizeBytes": file.get("sizeKB", 0) * 1024, "sizeBytes": file.get("sizeKB", 0) * 1024,
"type": self._resolve_model_type(res_data.get("type", "unknown")), "type": self._resolve_model_type(res_data.get("type", "")),
"pathIndex": 0, "pathIndex": 0,
"subFolder": "",
"description": "\n".join(description_parts), "description": "\n".join(description_parts),
"metadata": file.get("metadata"), "metadata": file.get("metadata"),
"downloadPlatform": "civitai", "downloadPlatform": "civitai",
@@ -146,7 +146,7 @@ class CivitaiModelSearcher(ModelSearcher):
"Controlnet": "controlnet", "Controlnet": "controlnet",
"Upscaler": "upscale_models", "Upscaler": "upscale_models",
"VAE": "vae", "VAE": "vae",
"unknown": "unknown", "unknown": "",
} }
return map_legacy.get(model_type, f"{model_type.lower()}s") return map_legacy.get(model_type, f"{model_type.lower()}s")
@@ -216,13 +216,13 @@ class HuggingfaceModelSearcher(ModelSearcher):
model = { model = {
"id": filename, "id": filename,
"shortname": filename, "shortname": filename,
"fullname": fullname,
"basename": basename, "basename": basename,
"extension": extension, "extension": extension,
"preview": image_files, "preview": image_files,
"sizeBytes": 0, "sizeBytes": 0,
"type": "unknown", "type": "",
"pathIndex": 0, "pathIndex": 0,
"subFolder": "",
"description": "\n".join(description_parts), "description": "\n".join(description_parts),
"metadata": {}, "metadata": {},
"downloadPlatform": "huggingface", "downloadPlatform": "huggingface",

View File

@@ -15,7 +15,11 @@
</span> </span>
</div> </div>
</div> </div>
<Button icon="pi pi-folder" @click="handleSelectFolder"></Button> <Button
icon="pi pi-folder"
:disabled="!type"
@click="handleSelectFolder"
></Button>
<Dialog <Dialog
v-model:visible="folderSelectVisible" v-model:visible="folderSelectVisible"
@@ -100,7 +104,7 @@ import Button from 'primevue/button'
import { usePrimeVue } from 'primevue/config' import { usePrimeVue } from 'primevue/config'
import Dialog from 'primevue/dialog' import Dialog from 'primevue/dialog'
import Tree from 'primevue/tree' import Tree from 'primevue/tree'
import { computed, ref } from 'vue' import { computed, ref, watch } from 'vue'
const editable = defineModel<boolean>('editable') const editable = defineModel<boolean>('editable')
@@ -116,6 +120,10 @@ const {
modelFolders, modelFolders,
} = useModelBaseInfo() } = useModelBaseInfo()
watch(type, () => {
subFolder.value = ''
})
const typeOptions = computed(() => { const typeOptions = computed(() => {
return Object.keys(modelFolders.value).map((curr) => { return Object.keys(modelFolders.value).map((curr) => {
return { return {
@@ -199,7 +207,7 @@ const modelFolder = computed({
}) })
const renderedModelFolder = computed(() => { const renderedModelFolder = computed(() => {
return baseInfo.value.pathIndex.display return baseInfo.value.pathIndex?.display
}) })
const handleCancelSelectFolder = () => { const handleCancelSelectFolder = () => {

View File

@@ -299,7 +299,7 @@ const baseInfoKey = Symbol('baseInfo') as InjectionKey<
> >
export const useModelBaseInfoEditor = (formInstance: ModelFormInstance) => { export const useModelBaseInfoEditor = (formInstance: ModelFormInstance) => {
const { formData: model } = formInstance const { formData: model, modelData } = formInstance
const provideModelFolders = inject(modelFolderProvideKey) const provideModelFolders = inject(modelFolderProvideKey)
const modelFolders = computed<ModelFolder>(() => { const modelFolders = computed<ModelFolder>(() => {
@@ -362,7 +362,9 @@ export const useModelBaseInfoEditor = (formInstance: ModelFormInstance) => {
{ {
key: 'type', key: 'type',
formatter: () => formatter: () =>
model.value.type in modelFolders.value ? model.value.type : undefined, modelData.value.type in modelFolders.value
? modelData.value.type
: undefined,
}, },
{ {
key: 'pathIndex', key: 'pathIndex',
@@ -542,7 +544,8 @@ export const useModelPreviewEditor = (formInstance: ModelFormInstance) => {
* No preview * No preview
*/ */
const noPreviewContent = computed(() => { const noPreviewContent = computed(() => {
return `/model-manager/preview/${model.value.type}/0/no-preview.png` const folder = model.value.type || 'unknown'
return `/model-manager/preview/${folder}/0/no-preview.png`
}) })
const preview = computed(() => { const preview = computed(() => {