refactor: clarifying responsibility boundaries for folder_paths
This commit is contained in:
@@ -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,)
|
||||
|
||||
@@ -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,)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user