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

View File

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

View File

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