diff --git a/services/download_manager.py b/services/download_manager.py index 4dab4530..010b3d10 100644 --- a/services/download_manager.py +++ b/services/download_manager.py @@ -123,7 +123,7 @@ class DownloadManager: await cache.resort() all_folders = set(cache.folders) all_folders.add(relative_path) - cache.folders = sorted(list(all_folders)) + cache.folders = sorted(list(all_folders), key=lambda x: x.lower()) # Report 100% completion if progress_callback: diff --git a/services/file_monitor.py b/services/file_monitor.py index 1e809935..f1f261b5 100644 --- a/services/file_monitor.py +++ b/services/file_monitor.py @@ -120,7 +120,7 @@ class LoraFileHandler(FileSystemEventHandler): # 更新文件夹列表,包括新添加的文件夹 all_folders = set(cache.folders) | new_folders - cache.folders = sorted(list(all_folders)) + cache.folders = sorted(list(all_folders), key=lambda x: x.lower()) except Exception as e: logger.error(f"Error in process_changes: {e}") diff --git a/services/lora_cache.py b/services/lora_cache.py index 9551ff9c..64a98ed7 100644 --- a/services/lora_cache.py +++ b/services/lora_cache.py @@ -28,9 +28,8 @@ class LoraCache: reverse=True ) # Update folder list - self.folders = sorted(list(set( - l['folder'] for l in self.raw_data - ))) + all_folders = set(l['folder'] for l in self.raw_data) + self.folders = sorted(list(all_folders), key=lambda x: x.lower()) async def update_preview_url(self, file_path: str, preview_url: str) -> bool: """Update preview_url for a specific lora in all cached data