fix(metadata): prune stale example-image entries when files are deleted on disk (#927)

This commit is contained in:
Will Miao
2026-05-14 20:51:33 +08:00
parent 3bf396d003
commit a105cb322b
2 changed files with 119 additions and 0 deletions

View File

@@ -908,6 +908,17 @@ class BaseModelService(ABC):
)
if should_skip or metadata is None:
return None
# Prune stale example-image metadata entries whose files no longer
# exist on disk (e.g. a user deleted the files manually).
from ..utils.example_images_metadata import MetadataUpdater
was_modified = await MetadataUpdater.prune_stale_example_images(metadata)
if was_modified:
asyncio.create_task(
MetadataManager.save_metadata(file_path, metadata)
)
return self.filter_civitai_data(metadata.to_dict().get("civitai", {}))
async def get_model_description(self, file_path: str) -> Optional[str]: