mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 15:15:44 -03:00
feat(recipe_scanner): reset cached state on active library change
This commit is contained in:
@@ -52,6 +52,31 @@ class RecipeScanner:
|
|||||||
if lora_scanner:
|
if lora_scanner:
|
||||||
self._lora_scanner = lora_scanner
|
self._lora_scanner = lora_scanner
|
||||||
self._initialized = True
|
self._initialized = True
|
||||||
|
|
||||||
|
def on_library_changed(self) -> None:
|
||||||
|
"""Reset cached state when the active library changes."""
|
||||||
|
|
||||||
|
# Cancel any in-flight initialization or resorting work so the next
|
||||||
|
# access rebuilds the cache for the new library.
|
||||||
|
if self._initialization_task and not self._initialization_task.done():
|
||||||
|
self._initialization_task.cancel()
|
||||||
|
|
||||||
|
for task in list(self._resort_tasks):
|
||||||
|
if not task.done():
|
||||||
|
task.cancel()
|
||||||
|
self._resort_tasks.clear()
|
||||||
|
|
||||||
|
self._cache = None
|
||||||
|
self._initialization_task = None
|
||||||
|
self._is_initializing = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
loop = asyncio.get_running_loop()
|
||||||
|
except RuntimeError:
|
||||||
|
loop = None
|
||||||
|
|
||||||
|
if loop and not loop.is_closed():
|
||||||
|
loop.create_task(self.initialize_in_background())
|
||||||
|
|
||||||
async def _get_civitai_client(self):
|
async def _get_civitai_client(self):
|
||||||
"""Lazily initialize CivitaiClient from registry"""
|
"""Lazily initialize CivitaiClient from registry"""
|
||||||
|
|||||||
Reference in New Issue
Block a user