mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-26 07:35:44 -03:00
feat: Add get_preview_extension function to retrieve complete preview file extensions
This commit is contained in:
@@ -8,7 +8,7 @@ from typing import List, Dict, Optional, Type, Set
|
|||||||
|
|
||||||
from ..utils.models import BaseModelMetadata
|
from ..utils.models import BaseModelMetadata
|
||||||
from ..config import config
|
from ..config import config
|
||||||
from ..utils.file_utils import find_preview_file
|
from ..utils.file_utils import find_preview_file, get_preview_extension
|
||||||
from ..utils.metadata_manager import MetadataManager
|
from ..utils.metadata_manager import MetadataManager
|
||||||
from .model_cache import ModelCache
|
from .model_cache import ModelCache
|
||||||
from .model_hash_index import ModelHashIndex
|
from .model_hash_index import ModelHashIndex
|
||||||
@@ -900,7 +900,7 @@ class ModelScanner:
|
|||||||
preview_dir = os.path.dirname(model_path)
|
preview_dir = os.path.dirname(model_path)
|
||||||
# Update preview filename to match the new base name
|
# Update preview filename to match the new base name
|
||||||
new_base_name = os.path.splitext(os.path.basename(model_path))[0]
|
new_base_name = os.path.splitext(os.path.basename(model_path))[0]
|
||||||
preview_ext = os.path.splitext(metadata['preview_url'])[1]
|
preview_ext = get_preview_extension(metadata['preview_url'])
|
||||||
new_preview_path = os.path.join(preview_dir, f"{new_base_name}{preview_ext}")
|
new_preview_path = os.path.join(preview_dir, f"{new_base_name}{preview_ext}")
|
||||||
metadata['preview_url'] = new_preview_path.replace(os.sep, '/')
|
metadata['preview_url'] = new_preview_path.replace(os.sep, '/')
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,24 @@ def find_preview_file(base_name: str, dir_path: str) -> str:
|
|||||||
|
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
def get_preview_extension(preview_path: str) -> str:
|
||||||
|
"""Get the complete preview extension from a preview file path
|
||||||
|
|
||||||
|
Args:
|
||||||
|
preview_path: Path to the preview file
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The complete extension (e.g., '.preview.png', '.png', '.webp')
|
||||||
|
"""
|
||||||
|
preview_path_lower = preview_path.lower()
|
||||||
|
|
||||||
|
# Check for compound extensions first (longer matches first)
|
||||||
|
for ext in sorted(PREVIEW_EXTENSIONS, key=len, reverse=True):
|
||||||
|
if preview_path_lower.endswith(ext.lower()):
|
||||||
|
return ext
|
||||||
|
|
||||||
|
return os.path.splitext(preview_path)[1]
|
||||||
|
|
||||||
def normalize_path(path: str) -> str:
|
def normalize_path(path: str) -> str:
|
||||||
"""Normalize file path to use forward slashes"""
|
"""Normalize file path to use forward slashes"""
|
||||||
return path.replace(os.sep, "/") if path else path
|
return path.replace(os.sep, "/") if path else path
|
||||||
Reference in New Issue
Block a user