Sort folder lists in a case-insensitive manner across download manager, file monitor, and cache services

This commit is contained in:
Will Miao
2025-02-16 06:57:32 +08:00
parent c12d2ad59a
commit 1d91251e24
3 changed files with 4 additions and 5 deletions

View File

@@ -123,7 +123,7 @@ class DownloadManager:
await cache.resort() await cache.resort()
all_folders = set(cache.folders) all_folders = set(cache.folders)
all_folders.add(relative_path) 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 # Report 100% completion
if progress_callback: if progress_callback:

View File

@@ -120,7 +120,7 @@ class LoraFileHandler(FileSystemEventHandler):
# 更新文件夹列表,包括新添加的文件夹 # 更新文件夹列表,包括新添加的文件夹
all_folders = set(cache.folders) | new_folders 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: except Exception as e:
logger.error(f"Error in process_changes: {e}") logger.error(f"Error in process_changes: {e}")

View File

@@ -28,9 +28,8 @@ class LoraCache:
reverse=True reverse=True
) )
# Update folder list # Update folder list
self.folders = sorted(list(set( all_folders = set(l['folder'] for l in self.raw_data)
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: async def update_preview_url(self, file_path: str, preview_url: str) -> bool:
"""Update preview_url for a specific lora in all cached data """Update preview_url for a specific lora in all cached data