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()
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:

View File

@@ -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}")

View File

@@ -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