mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 15:15:44 -03:00
fix: use natural sorting when sorting by name
This commit is contained in:
@@ -2,6 +2,7 @@ import asyncio
|
|||||||
from typing import List, Dict
|
from typing import List, Dict
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
from natsort import natsorted
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class LoraCache:
|
class LoraCache:
|
||||||
@@ -17,7 +18,7 @@ class LoraCache:
|
|||||||
async def resort(self, name_only: bool = False):
|
async def resort(self, name_only: bool = False):
|
||||||
"""Resort all cached data views"""
|
"""Resort all cached data views"""
|
||||||
async with self._lock:
|
async with self._lock:
|
||||||
self.sorted_by_name = sorted(
|
self.sorted_by_name = natsorted(
|
||||||
self.raw_data,
|
self.raw_data,
|
||||||
key=lambda x: x['model_name'].lower() # Case-insensitive sort
|
key=lambda x: x['model_name'].lower() # Case-insensitive sort
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import asyncio
|
|||||||
from typing import List, Dict
|
from typing import List, Dict
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
from natsort import natsorted
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ModelCache:
|
class ModelCache:
|
||||||
@@ -17,7 +18,7 @@ class ModelCache:
|
|||||||
async def resort(self, name_only: bool = False):
|
async def resort(self, name_only: bool = False):
|
||||||
"""Resort all cached data views"""
|
"""Resort all cached data views"""
|
||||||
async with self._lock:
|
async with self._lock:
|
||||||
self.sorted_by_name = sorted(
|
self.sorted_by_name = natsorted(
|
||||||
self.raw_data,
|
self.raw_data,
|
||||||
key=lambda x: x['model_name'].lower() # Case-insensitive sort
|
key=lambda x: x['model_name'].lower() # Case-insensitive sort
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import asyncio
|
|||||||
from typing import List, Dict
|
from typing import List, Dict
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
from natsort import natsorted
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class RecipeCache:
|
class RecipeCache:
|
||||||
@@ -16,7 +17,7 @@ class RecipeCache:
|
|||||||
async def resort(self, name_only: bool = False):
|
async def resort(self, name_only: bool = False):
|
||||||
"""Resort all cached data views"""
|
"""Resort all cached data views"""
|
||||||
async with self._lock:
|
async with self._lock:
|
||||||
self.sorted_by_name = sorted(
|
self.sorted_by_name = natsorted(
|
||||||
self.raw_data,
|
self.raw_data,
|
||||||
key=lambda x: x.get('title', '').lower() # Case-insensitive sort
|
key=lambda x: x.get('title', '').lower() # Case-insensitive sort
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from .recipe_cache import RecipeCache
|
|||||||
from .service_registry import ServiceRegistry
|
from .service_registry import ServiceRegistry
|
||||||
from .lora_scanner import LoraScanner
|
from .lora_scanner import LoraScanner
|
||||||
from ..utils.utils import fuzzy_match
|
from ..utils.utils import fuzzy_match
|
||||||
|
from natsort import natsorted
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -164,7 +165,7 @@ class RecipeScanner:
|
|||||||
if hasattr(self._cache, "resort"):
|
if hasattr(self._cache, "resort"):
|
||||||
try:
|
try:
|
||||||
# Sort by name
|
# Sort by name
|
||||||
self._cache.sorted_by_name = sorted(
|
self._cache.sorted_by_name = natsorted(
|
||||||
self._cache.raw_data,
|
self._cache.raw_data,
|
||||||
key=lambda x: x.get('title', '').lower()
|
key=lambda x: x.get('title', '').lower()
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ requests
|
|||||||
toml
|
toml
|
||||||
numpy
|
numpy
|
||||||
torch
|
torch
|
||||||
|
natsort
|
||||||
Reference in New Issue
Block a user