refactor: clarifying responsibility boundaries for folder_paths

This commit is contained in:
Limitex
2025-11-02 20:50:59 +09:00
parent e463490409
commit b4df7a2128
4 changed files with 17 additions and 15 deletions
+2 -1
View File
@@ -28,6 +28,7 @@ class DiffusersPipelineLoader:
checkpoint_name: str,
handler: PipelineHandler = Provide[Container.pipeline_handler],
) -> tuple[ComfyUIPipelineDTO]:
pipeline_model = handler.create(checkpoint_name)
checkpoint_path = folder_paths.get_full_path("checkpoints", checkpoint_name)
pipeline_model = handler.create(checkpoint_path)
pipeline_dto = ComfyUIPipelineDTO.from_domain(pipeline_model)
return (pipeline_dto,)
+2 -1
View File
@@ -28,6 +28,7 @@ class DiffusersVaeLoader:
vae_name: str,
handler: AutoencoderHandler = Provide[Container.autoencoder_handler],
) -> tuple[ComfyUIAutoencoderDTO]:
autoencoder_model = handler.create(vae_name)
vae_path = folder_paths.get_full_path("vae", vae_name)
autoencoder_model = handler.create(vae_path)
autoencoder_dto = ComfyUIAutoencoderDTO.from_domain(autoencoder_model)
return (autoencoder_dto,)
+7 -7
View File
@@ -1,7 +1,5 @@
import os
import folder_paths # pyright: ignore[reportMissingImports]
from ..domain.model import Autoencoder
from ..service import AutoencoderService
@@ -10,8 +8,10 @@ class AutoencoderHandler:
def __init__(self, autoencoder_service: AutoencoderService) -> None:
self.create_autoencoder_service = autoencoder_service
def create(self, checkpoint_name: str) -> Autoencoder:
checkpoint_path = folder_paths.get_full_path("vae", checkpoint_name)
if not os.path.exists(checkpoint_path):
raise FileNotFoundError(f"VAE file not found: {checkpoint_name}")
return self.create_autoencoder_service.create_from_checkpoint(checkpoint_path)
def create(self, vae_path: str) -> Autoencoder:
if not os.path.exists(vae_path):
raise FileNotFoundError(f"VAE file not found: {vae_path}")
autoencoder = self.create_autoencoder_service.create_from_checkpoint(vae_path)
if autoencoder is None:
raise RuntimeError(f"Failed to create autoencoder from checkpoint: {vae_path}")
return autoencoder
+6 -6
View File
@@ -1,7 +1,5 @@
import os
import folder_paths # pyright: ignore[reportMissingImports]
from ..domain.model import Pipeline
from ..service import PipelineService
@@ -10,8 +8,10 @@ class PipelineHandler:
def __init__(self, pipeline_service: PipelineService) -> None:
self.create_pipeline_service = pipeline_service
def create(self, checkpoint_name: str) -> Pipeline:
checkpoint_path = folder_paths.get_full_path("checkpoints", checkpoint_name)
def create(self, checkpoint_path: str) -> Pipeline:
if not os.path.exists(checkpoint_path):
raise FileNotFoundError(f"Checkpoint file not found: {checkpoint_name}")
return self.create_pipeline_service.create_from_checkpoint(checkpoint_path)
raise FileNotFoundError(f"Checkpoint file not found: {checkpoint_path}")
pipeline = self.create_pipeline_service.create_from_checkpoint(checkpoint_path)
if pipeline is None:
raise RuntimeError(f"Failed to create pipeline from checkpoint: {checkpoint_path}")
return pipeline