mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 07:05:43 -03:00
Optimize LoRA cache sorting with flexible resort method
- Add optional name-only sorting to LoRA cache resort method - Update API routes to use new resort method with name-only flag - Refactor HTML template to improve script placement and initialization check
This commit is contained in:
@@ -368,7 +368,7 @@ class ApiRoutes:
|
|||||||
logger.error(f"Error fetching CivitAI data for {lora['file_path']}: {e}")
|
logger.error(f"Error fetching CivitAI data for {lora['file_path']}: {e}")
|
||||||
|
|
||||||
if needs_resort:
|
if needs_resort:
|
||||||
cache.sorted_by_name = sorted(cache.raw_data, key=itemgetter('model_name'))
|
await cache.resort(name_only=True)
|
||||||
|
|
||||||
# 发送完成消息
|
# 发送完成消息
|
||||||
await ws_manager.broadcast({
|
await ws_manager.broadcast({
|
||||||
|
|||||||
@@ -14,18 +14,19 @@ class LoraCache:
|
|||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
self._lock = asyncio.Lock()
|
self._lock = asyncio.Lock()
|
||||||
|
|
||||||
async def resort(self):
|
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 = sorted(
|
||||||
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
|
||||||
)
|
)
|
||||||
self.sorted_by_date = sorted(
|
if not name_only:
|
||||||
self.raw_data,
|
self.sorted_by_date = sorted(
|
||||||
key=itemgetter('modified'),
|
self.raw_data,
|
||||||
reverse=True
|
key=itemgetter('modified'),
|
||||||
)
|
reverse=True
|
||||||
|
)
|
||||||
# Update folder list
|
# Update folder list
|
||||||
self.folders = sorted(list(set(
|
self.folders = sorted(list(set(
|
||||||
l['folder'] for l in self.raw_data
|
l['folder'] for l in self.raw_data
|
||||||
|
|||||||
@@ -60,9 +60,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="module" src="/loras_static/js/main.js"></script>
|
<script type="module" src="/loras_static/js/main.js"></script>
|
||||||
|
{% if is_initializing %}
|
||||||
<script>
|
<script>
|
||||||
// 检查初始化状态并设置自动刷新
|
// 检查初始化状态并设置自动刷新
|
||||||
{% if is_initializing %}
|
|
||||||
async function checkInitStatus() {
|
async function checkInitStatus() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('/api/loras?page=1&page_size=1');
|
const response = await fetch('/api/loras?page=1&page_size=1');
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
// 启动状态检查
|
// 启动状态检查
|
||||||
checkInitStatus();
|
checkInitStatus();
|
||||||
{% endif %}
|
|
||||||
</script>
|
</script>
|
||||||
|
{% endif %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user