mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-24 06:32:12 -03:00
89 lines
3.6 KiB
Python
89 lines
3.6 KiB
Python
import logging
|
|
from typing import Callable
|
|
|
|
from aiohttp import web
|
|
|
|
from .example_images_route_registrar import ExampleImagesRouteRegistrar
|
|
from ..utils.example_images_download_manager import DownloadManager
|
|
from ..utils.example_images_processor import ExampleImagesProcessor
|
|
from ..utils.example_images_file_manager import ExampleImagesFileManager
|
|
from ..services.websocket_manager import ws_manager
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class ExampleImagesRoutes:
|
|
"""Routes for example images related functionality"""
|
|
|
|
@staticmethod
|
|
def setup_routes(app: web.Application) -> None:
|
|
"""Register example images routes using the registrar."""
|
|
|
|
registrar = ExampleImagesRouteRegistrar(app)
|
|
registrar.register_routes(ExampleImagesRoutes._route_mapping())
|
|
|
|
@staticmethod
|
|
def _route_mapping() -> dict[str, Callable[[web.Request], object]]:
|
|
return {
|
|
"download_example_images": ExampleImagesRoutes.download_example_images,
|
|
"import_example_images": ExampleImagesRoutes.import_example_images,
|
|
"get_example_images_status": ExampleImagesRoutes.get_example_images_status,
|
|
"pause_example_images": ExampleImagesRoutes.pause_example_images,
|
|
"resume_example_images": ExampleImagesRoutes.resume_example_images,
|
|
"open_example_images_folder": ExampleImagesRoutes.open_example_images_folder,
|
|
"get_example_image_files": ExampleImagesRoutes.get_example_image_files,
|
|
"has_example_images": ExampleImagesRoutes.has_example_images,
|
|
"delete_example_image": ExampleImagesRoutes.delete_example_image,
|
|
"force_download_example_images": ExampleImagesRoutes.force_download_example_images,
|
|
}
|
|
|
|
@staticmethod
|
|
async def download_example_images(request):
|
|
"""Download example images for models from Civitai"""
|
|
return await DownloadManager.start_download(request)
|
|
|
|
@staticmethod
|
|
async def get_example_images_status(request):
|
|
"""Get the current status of example images download"""
|
|
return await DownloadManager.get_status(request)
|
|
|
|
@staticmethod
|
|
async def pause_example_images(request):
|
|
"""Pause the example images download"""
|
|
return await DownloadManager.pause_download(request)
|
|
|
|
@staticmethod
|
|
async def resume_example_images(request):
|
|
"""Resume the example images download"""
|
|
return await DownloadManager.resume_download(request)
|
|
|
|
@staticmethod
|
|
async def open_example_images_folder(request):
|
|
"""Open the example images folder for a specific model"""
|
|
return await ExampleImagesFileManager.open_folder(request)
|
|
|
|
@staticmethod
|
|
async def get_example_image_files(request):
|
|
"""Get list of example image files for a specific model"""
|
|
return await ExampleImagesFileManager.get_files(request)
|
|
|
|
@staticmethod
|
|
async def import_example_images(request):
|
|
"""Import local example images for a model"""
|
|
return await ExampleImagesProcessor.import_images(request)
|
|
|
|
@staticmethod
|
|
async def has_example_images(request):
|
|
"""Check if example images folder exists and is not empty for a model"""
|
|
return await ExampleImagesFileManager.has_images(request)
|
|
|
|
@staticmethod
|
|
async def delete_example_image(request):
|
|
"""Delete a custom example image for a model"""
|
|
return await ExampleImagesProcessor.delete_custom_image(request)
|
|
|
|
@staticmethod
|
|
async def force_download_example_images(request):
|
|
"""Force download example images for specific models"""
|
|
return await DownloadManager.start_force_download(request)
|