diff --git a/Old/sd15_clip_loader.py b/Old/sd15_clip_loader.py deleted file mode 100644 index ff6b231..0000000 --- a/Old/sd15_clip_loader.py +++ /dev/null @@ -1,68 +0,0 @@ -import os -from comfy import sd - -class SD15CLIPLoader: - @classmethod - def INPUT_TYPES(cls): - # Path to the 'diffusers/SD15' folder, relative to the script location - script_dir = os.path.dirname(os.path.realpath(__file__)) - base_path = os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15") - print(f"SD15CLIPLoader:Base path: {base_path}") # Debug print - - # Get the list of sub-directories in the 'diffusers/SD15' folder - try: - sub_dirs = [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] - print(f"Sub-directories: {sub_dirs}") # Debug print - except FileNotFoundError: - sub_dirs = [] - print("SD15CLIPLoader:Base path not found.") # Debug print - - return {"required": {"sub_directory": (sub_dirs,), - "clip_type": (["stable_diffusion", "stable_cascade"],), - }} - - RETURN_TYPES = ("CLIP",) - FUNCTION = "load_clip" - CATEGORY = "DiffusersLoader/SD1.5" - - def load_clip(self, sub_directory, clip_type="stable_diffusion"): - # Determine the clip type - clip_type_enum = sd.CLIPType.STABLE_DIFFUSION - if clip_type == "stable_cascade": - clip_type_enum = sd.CLIPType.STABLE_CASCADE - - # Construct the path to the text_encoder directory - script_dir = os.path.dirname(os.path.realpath(__file__)) - text_encoder_dir = os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15", sub_directory, "text_encoder") - print(f"SD15CLIPLoader:Text encoder directory: {text_encoder_dir}") # Debug print - - # Find the .safetensors or .bin file in the text_encoder directory - text_encoder_file = self.find_model_file(text_encoder_dir) - text_encoder_path = os.path.join(text_encoder_dir, text_encoder_file) - print(f"SD15CLIPLoader:Text encoder path: {text_encoder_path}") # Debug print - - # Ensure the file exists - if not os.path.exists(text_encoder_path): - raise FileNotFoundError(f"SD15CLIPLoader:File not found: {text_encoder_path}") - - # Load the CLIP model using the constructed path - clip = sd.load_clip(ckpt_paths=[text_encoder_path], embedding_directory=os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15", sub_directory, "embeddings"), clip_type=clip_type_enum) - return (clip,) - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return file - raise FileNotFoundError(f"SD15CLIPLoader:No .safetensors file or .bin file found in {directory}") - -# Register the node in the ComfyUI framework -NODE_CLASS_MAPPINGS = { - "SD15CLIPLoader": SD15CLIPLoader, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "SD15CLIPLoader": "SD1.5 CLIP Loader", -} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sd15_combined_loader.py b/Old/sd15_combined_loader.py deleted file mode 100644 index 5f160fc..0000000 --- a/Old/sd15_combined_loader.py +++ /dev/null @@ -1,107 +0,0 @@ -import os -import comfy.sd -import comfy.utils -import torch - -class CombinedDiffusersSD15Loader: - @classmethod - def INPUT_TYPES(cls): - script_dir = os.path.dirname(os.path.realpath(__file__)) - base_path = os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15") - try: - sub_dirs = [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] - except FileNotFoundError: - sub_dirs = [] - - return {"required": {"sub_directory": (sub_dirs,), - "clip_type": (["stable_diffusion", "stable_cascade"],)}} - - RETURN_TYPES = ("CLIP", "MODEL", "VAE") - FUNCTION = "load_models" - CATEGORY = "DiffusersLoader/SD1.5" - - def load_models(self, sub_directory, clip_type="stable_diffusion"): - clip = self.load_clip(sub_directory, clip_type) - unet = self.load_unet(sub_directory) - vae = self.load_vae(sub_directory) - return clip, unet, vae - - def load_clip(self, sub_directory, clip_type="stable_diffusion"): - clip_type_enum = comfy.sd.CLIPType.STABLE_DIFFUSION - if clip_type == "stable_cascade": - clip_type_enum = comfy.sd.CLIPType.STABLE_CASCADE - - script_dir = os.path.dirname(os.path.realpath(__file__)) - text_encoder_dir = os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15", sub_directory, "text_encoder") - text_encoder_file = self.find_model_file(text_encoder_dir) - text_encoder_path = os.path.join(text_encoder_dir, text_encoder_file) - - if not os.path.exists(text_encoder_path): - raise FileNotFoundError(f"File not found: {text_encoder_path}") - - clip = comfy.sd.load_clip(ckpt_paths=[text_encoder_path], embedding_directory=os.path.join(script_dir, "..", "..", "models", "diffusers", "SD15", sub_directory, "embeddings"), clip_type=clip_type_enum) - return clip - - def load_unet(self, sub_directory): - unet_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SD15', sub_directory, 'unet')) - diffusion_model_path = self.find_model_file(unet_folder) - - if not os.path.exists(diffusion_model_path): - raise FileNotFoundError(f"{os.path.basename(diffusion_model_path)} not found in the directory: {diffusion_model_path}") - - try: - model = comfy.sd.load_unet(diffusion_model_path) - return model - except PermissionError as e: - self.handle_corrupted_file(unet_folder) - raise e - - def load_vae(self, sub_directory): - base_path = self.get_base_path() - vae_folder = os.path.join(base_path, sub_directory, "vae") - vae_filename = self.find_model_file(vae_folder) - vae_path = os.path.join(vae_folder, vae_filename) - full_path = os.path.abspath(vae_path) - - print(f"Attempting to load VAE model from: {full_path}") - - if not os.path.exists(full_path): - raise FileNotFoundError(f"The VAE file '{full_path}' does not exist.") - - sd = comfy.utils.load_torch_file(full_path) - vae = comfy.sd.VAE(sd=sd) - return vae - - @staticmethod - def get_base_path(): - base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SD15') - base_path = os.path.abspath(base_path) - if not os.path.exists(base_path): - raise FileNotFoundError(f"The base path '{base_path}' does not exist.") - return base_path - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return os.path.join(directory, file) - raise FileNotFoundError(f"No .safetensors file or . bin file found in {directory}") - - @staticmethod - def handle_corrupted_file(unet_folder): - corrupted_path = unet_folder + ".corrupted" - try: - os.rename(unet_folder, corrupted_path) - except Exception as e: - raise e - -# Register the node in the ComfyUI framework -NODE_CLASS_MAPPINGS = { - "CombinedDiffusersSD15Loader": CombinedDiffusersSD15Loader, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "CombinedDiffusersSD15Loader": "Combined Diffusers SD1.5 Loader", -} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sd15_unet_loader.py b/Old/sd15_unet_loader.py deleted file mode 100644 index 688eb66..0000000 --- a/Old/sd15_unet_loader.py +++ /dev/null @@ -1,73 +0,0 @@ -import os -import comfy.sd - -def get_sub_directory_list(base_path): - """Returns a list of sub-directories within the given base path.""" - base_directory = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', base_path)) - print(f"SD15UNETLoader:Looking for sub-directories in: {base_directory}") - - if os.path.exists(base_directory): - sub_dirs = [d for d in os.listdir(base_directory) if os.path.isdir(os.path.join(base_directory, d))] - print(f"SD15UNETLoader:Found sub-directories: {sub_dirs}") - return sub_dirs - else: - print(f"SD15UNETLoader:Path does not exist: {base_directory}") - return [] - -def handle_corrupted_file(unet_folder): - """Handle corrupted UNET folder by renaming it and logging the action.""" - corrupted_path = unet_folder + ".corrupted" - try: - os.rename(unet_folder, corrupted_path) - print(f"SD15UNETLoader:Moved corrupted folder to: {corrupted_path}") - except PermissionError as e: - print(f"SD15UNETLoader:PermissionError while moving corrupted folder: {e}") - raise PermissionError(f"SD15UNETLoader:Permission denied while moving: {unet_folder}") - except Exception as e: - print(f"SD15UNETLoader:Error while moving corrupted folder: {e}") - raise e - -class SD15UNETLoader: - @classmethod - def INPUT_TYPES(s): - return { - "required": { - "sub_directory": (get_sub_directory_list("diffusers/SD15"),), - } - } - - RETURN_TYPES = ("MODEL",) - FUNCTION = "load_unet" - CATEGORY = "DiffusersLoader/SD1.5" - - def load_unet(self, sub_directory): - unet_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SD15', sub_directory, 'unet')) - diffusion_model_path = self.find_model_file(unet_folder) - print(f"SD15UNETLoader:Attempting to load UNET model from: {diffusion_model_path}") - - if not os.path.exists(diffusion_model_path): - raise FileNotFoundError(f"{os.path.basename(diffusion_model_path)} not found in the directory: {diffusion_model_path}") - - try: - model = comfy.sd.load_unet(diffusion_model_path) - return (model,) - except PermissionError as e: - print(f"SD15UNETLoader:PermissionError: {e}") - raise PermissionError(f"SD15UNETLoader:Permission denied: {diffusion_model_path}") - except Exception as e: - print(f"SD15UNETLoader:Error loading UNET model: {e}") - handle_corrupted_file(unet_folder) - raise e - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return os.path.join(directory, file) - raise FileNotFoundError(f"SD15UNETLoader:No .safetensors file or .bin file found in {directory}") - -# Ensure the node is registered properly -NODE_CLASS_MAPPINGS = {"SD15UNETLoader": SD15UNETLoader} -NODE_DISPLAY_NAME_MAPPINGS = {"SD15UNETLoader": "SD1.5 UNET Loader"} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sd15_vae_loader.py b/Old/sd15_vae_loader.py deleted file mode 100644 index c9433ec..0000000 --- a/Old/sd15_vae_loader.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import comfy.utils -import torch - -class SD15VAELoader: - @staticmethod - def get_base_path(): - # Adjust the base path to the location where the SD15 subdirectory is located - base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SD15') - base_path = os.path.abspath(base_path) # Convert to absolute path - if not os.path.exists(base_path): - raise FileNotFoundError(f"The base path '{base_path}' does not exist.") - return base_path - - @staticmethod - def get_subdirectories(): - base_path = SD15VAELoader.get_base_path() - return [name for name in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, name))] - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return file - raise FileNotFoundError(f"No .safetensors file or .bin file found in {directory}") - - @classmethod - def INPUT_TYPES(cls): - subdirectories = cls.get_subdirectories() - return { - "required": { - "sub_directory": (subdirectories, ), - } - } - - RETURN_TYPES = ("VAE",) - FUNCTION = "load_vae" - CATEGORY = "DiffusersLoader/SD1.5" - - def load_vae(self, sub_directory): - base_path = self.get_base_path() - vae_folder = os.path.join(base_path, sub_directory, "vae") - vae_filename = self.find_model_file(vae_folder) - vae_path = os.path.join(vae_folder, vae_filename) - full_path = os.path.abspath(vae_path) - - print(f"Attempting to load VAE model from: {full_path}") - - if not os.path.exists(full_path): - raise FileNotFoundError(f"The VAE file '{full_path}' does not exist.") - - sd = comfy.utils.load_torch_file(full_path) - vae = comfy.sd.VAE(sd=sd) - return (vae,) - -# Ensure the node is registered properly -NODE_CLASS_MAPPINGS = {"SD15VAELoader": SD15VAELoader} -NODE_DISPLAY_NAME_MAPPINGS = {"SD15VAELoader": "SD1.5 VAE Loader"} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sdxl_clip_loader.py b/Old/sdxl_clip_loader.py deleted file mode 100644 index 07ae938..0000000 --- a/Old/sdxl_clip_loader.py +++ /dev/null @@ -1,69 +0,0 @@ -import os -from comfy import sd - -class SDXLCLIPLoader: - @classmethod - def INPUT_TYPES(cls): - script_dir = os.path.dirname(os.path.realpath(__file__)) - base_path = os.path.abspath(os.path.join(script_dir, "../../models/diffusers/SDXL")) - print(f"SDXLCLIPLoader: Base path for SDXL models: {base_path}") - - if not os.path.exists(base_path): - raise FileNotFoundError(f"SDXLCLIPLoader: The base path {base_path} does not exist.") - - sub_dirs = [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] - print(f"SDXLCLIPLoader: Available subdirectories: {sub_dirs}") - return { - "required": { - "sub_directory": (sub_dirs, ), - } - } - - RETURN_TYPES = ("CLIP",) - FUNCTION = "load_sdxl_clip" - CATEGORY = "DiffusersLoader/SDXL" - - def load_sdxl_clip(self, sub_directory): - script_dir = os.path.dirname(os.path.realpath(__file__)) - base_path = os.path.abspath(os.path.join(script_dir, "../../models/diffusers/SDXL", sub_directory)) - - text_encoder_dir1 = os.path.join(base_path, "text_encoder") - text_encoder_dir2 = os.path.join(base_path, "text_encoder_2") - - text_encoder_file1 = self.find_model_file(text_encoder_dir1) - text_encoder_file2 = self.find_model_file(text_encoder_dir2) - - text_encoder_path1 = os.path.join(text_encoder_dir1, text_encoder_file1) - text_encoder_path2 = os.path.join(text_encoder_dir2, text_encoder_file2) - - print(f"SDXLCLIPLoader: Checking paths:\n{text_encoder_path1}\n{text_encoder_path2}") - - path1_exists = os.path.exists(text_encoder_path1) - path2_exists = os.path.exists(text_encoder_path2) - - print(f"SDXLCLIPLoader: Path 1 exists: {path1_exists}") - print(f"SDXLCLIPLoader: Path 2 exists: {path2_exists}") - - if not path1_exists or not path2_exists: - raise FileNotFoundError(f"SDXLCLIPLoader: One or both text encoder files not found in {base_path}") - - clip = sd.load_clip(ckpt_paths=[text_encoder_path1, text_encoder_path2], embedding_directory=os.path.join(base_path, "embeddings")) - return (clip,) - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return file - raise FileNotFoundError(f"No .safetensors file found in {directory}") - -# Mapping the node to make it recognizable in the ComfyUI framework -NODE_CLASS_MAPPINGS = { - "SDXLCLIPLoader": SDXLCLIPLoader, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "SDXLCLIPLoader": "SDXL CLIP Loader", -} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sdxl_combined_loader.py b/Old/sdxl_combined_loader.py deleted file mode 100644 index a0307a1..0000000 --- a/Old/sdxl_combined_loader.py +++ /dev/null @@ -1,101 +0,0 @@ -import os -import comfy.utils -import comfy.sd -import torch - -class CombinedDiffusersSDXLLoader: - @staticmethod - def get_base_path(): - base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SDXL')) - if not os.path.exists(base_path): - raise FileNotFoundError(f"CombinedDiffusersSDXLLoader: The base path '{base_path}' does not exist.") - return base_path - - @staticmethod - def get_subdirectories(): - base_path = CombinedDiffusersSDXLLoader.get_base_path() - return [name for name in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, name))] - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return os.path.join(directory, file) - raise FileNotFoundError(f"CombinedDiffusersSDXLLoader: No .safetensors file or .bin file found in {directory}") - - @classmethod - def INPUT_TYPES(cls): - subdirectories = cls.get_subdirectories() - return { - "required": { - "sub_directory": (subdirectories, ), - } - } - - RETURN_TYPES = ("MODEL", "CLIP", "VAE") - FUNCTION = "load_models" - CATEGORY = "DiffusersLoader/SDXL" - - def load_models(self, sub_directory): - base_path = self.get_base_path() - sub_dir_path = os.path.join(base_path, sub_directory) - - vae_model = self.load_vae(sub_dir_path) - unet_model = self.load_unet(sub_dir_path) - clip_model = self.load_clip(sub_dir_path) - - return unet_model, clip_model, vae_model - - def load_vae(self, base_path): - vae_folder = os.path.join(base_path, "vae") - vae_path = self.find_model_file(vae_folder) - print(f"CombinedDiffusersSDXLLoader: Attempting to load VAE model from: {vae_path}") - - vae_sd = comfy.utils.load_torch_file(vae_path) - return comfy.sd.VAE(sd=vae_sd) - - def load_unet(self, base_path): - unet_folder = os.path.join(base_path, 'unet') - unet_path = self.find_model_file(unet_folder) - print(f"CombinedDiffusersSDXLLoader: Attempting to load UNET model from: {unet_path}") - - try: - return comfy.sd.load_unet(unet_path) - except PermissionError as e: - print(f"PermissionError: {e}") - raise PermissionError(f"CombinedDiffusersSDXLLoader: Permission denied: {unet_path}") - except Exception as e: - print(f"CombinedDiffusersSDXLLoader: Error loading UNET model: {e}") - self.handle_corrupted_file(unet_folder) - raise e - - def load_clip(self, base_path): - text_encoder_dir1 = os.path.join(base_path, "text_encoder") - text_encoder_dir2 = os.path.join(base_path, "text_encoder_2") - - text_encoder_path1 = self.find_model_file(text_encoder_dir1) - text_encoder_path2 = self.find_model_file(text_encoder_dir2) - - print(f"CombinedDiffusersSDXLLoader: Checking paths:\n{text_encoder_path1}\n{text_encoder_path2}") - - return comfy.sd.load_clip(ckpt_paths=[text_encoder_path1, text_encoder_path2], embedding_directory=os.path.join(base_path, "embeddings")) - - @staticmethod - def handle_corrupted_file(unet_folder): - """Handle corrupted UNET folder by renaming it and logging the action.""" - corrupted_path = unet_folder + ".corrupted" - try: - os.rename(unet_folder, corrupted_path) - print(f"CombinedDiffusersSDXLLoader: Moved corrupted folder to: {corrupted_path}") - except PermissionError as e: - print(f"CombinedDiffusersSDXLLoader: PermissionError while moving corrupted folder: {e}") - raise PermissionError(f"Permission denied while moving: {unet_folder}") - except Exception as e: - print(f"CombinedDiffusersSDXLLoader: Error while moving corrupted folder: {e}") - raise e - -# Ensure the node is registered properly -NODE_CLASS_MAPPINGS = {"CombinedDiffusersSDXLLoader": CombinedDiffusersSDXLLoader} -NODE_DISPLAY_NAME_MAPPINGS = {"CombinedDiffusersSDXLLoader": "Combined Diffusers SDXL Loader"} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sdxl_unet_loader.py b/Old/sdxl_unet_loader.py deleted file mode 100644 index 4b9f0fb..0000000 --- a/Old/sdxl_unet_loader.py +++ /dev/null @@ -1,78 +0,0 @@ -import os -import comfy.sd - -def get_sub_directory_list(base_path): - """Returns a list of sub-directories within the given base path.""" - base_directory = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', base_path)) - print(f"SDXLUNETLoader:Looking for sub-directories in: {base_directory}") - - if os.path.exists(base_directory): - sub_dirs = [d for d in os.listdir(base_directory) if os.path.isdir(os.path.join(base_directory, d))] - print(f"SDXLUNETLoader:Found sub-directories: {sub_dirs}") - return sub_dirs - else: - print(f"SDXLUNETLoader:Path does not exist: {base_directory}") - return [] - -def handle_corrupted_file(unet_folder): - """Handle corrupted UNET folder by renaming it and logging the action.""" - corrupted_path = unet_folder + ".corrupted" - try: - os.rename(unet_folder, corrupted_path) - print(f"SDXLUNETLoader:Moved corrupted folder to: {corrupted_path}") - except PermissionError as e: - print(f"SDXLUNETLoader:PermissionError while moving corrupted folder: {e}") - raise PermissionError(f"Permission denied while moving: {unet_folder}") - except Exception as e: - print(f"SDXLUNETLoader:Error while moving corrupted folder: {e}") - raise e - -class SDXLUNETLoader: - @classmethod - def INPUT_TYPES(s): - return { - "required": { - "sub_directory": (get_sub_directory_list("diffusers/SDXL"),), - } - } - - RETURN_TYPES = ("MODEL",) - FUNCTION = "load_unet" - CATEGORY = "DiffusersLoader/SDXL" - - def load_unet(self, sub_directory): - unet_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SDXL', sub_directory, 'unet')) - diffusion_model_path = self.find_model_file(unet_folder) - print(f"SDXLUNETLoader:Attempting to load UNET model from: {diffusion_model_path}") - - if not os.path.exists(diffusion_model_path): - raise FileNotFoundError(f"SDXLUNETLoader:{os.path.basename(diffusion_model_path)} not found in the directory: {diffusion_model_path}") - - try: - model = comfy.sd.load_unet(diffusion_model_path) - return (model,) - except PermissionError as e: - print(f"PermissionError: {e}") - raise PermissionError(f"SDXLUNETLoader:Permission denied: {diffusion_model_path}") - except Exception as e: - print(f"SDXLUNETLoader:Error loading UNET model: {e}") - handle_corrupted_file(unet_folder) - raise e - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return os.path.join(directory, file) - raise FileNotFoundError(f"SDXLUNETLoader:No .safetensors file or .bin file found in {directory}") - -# Mapping the node to make it recognizable in the ComfyUI framework -NODE_CLASS_MAPPINGS = { - "SDXLUNETLoader": SDXLUNETLoader, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "SDXLUNETLoader": "SDXL UNET Loader", -} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/Old/sdxl_vae_loader.py b/Old/sdxl_vae_loader.py deleted file mode 100644 index 283b868..0000000 --- a/Old/sdxl_vae_loader.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -import comfy.utils -import torch - -class SDXLVAELoader: - @staticmethod - def get_base_path(): - # Adjust the base path to the location where the SDXL subdirectory is located - base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'models', 'diffusers', 'SDXL') - base_path = os.path.abspath(base_path) # Convert to absolute path - if not os.path.exists(base_path): - raise FileNotFoundError(f"SDXLVAELoader:The base path '{base_path}' does not exist.") - return base_path - - @staticmethod - def get_subdirectories(): - base_path = SDXLVAELoader.get_base_path() - return [name for name in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, name))] - - @staticmethod - def find_model_file(directory): - for file in os.listdir(directory): - if file.endswith(".safetensors") or file.endswith(".bin"): - return file - raise FileNotFoundError(f"SDXLVAELoader:No .safetensors file or .bin file found in {directory}") - - @classmethod - def INPUT_TYPES(cls): - subdirectories = cls.get_subdirectories() - return { - "required": { - "sub_directory": (subdirectories, ), - } - } - - RETURN_TYPES = ("VAE",) - FUNCTION = "load_vae" - CATEGORY = "DiffusersLoader/SDXL" - - def load_vae(self, sub_directory): - base_path = self.get_base_path() - vae_folder = os.path.join(base_path, sub_directory, "vae") - vae_filename = self.find_model_file(vae_folder) - vae_path = os.path.join(vae_folder, vae_filename) - full_path = os.path.abspath(vae_path) - - print(f"SDXLVAELoader:Attempting to load VAE model from: {full_path}") - - if not os.path.exists(full_path): - raise FileNotFoundError(f"SDXLVAELoader:The VAE file '{full_path}' does not exist.") - - sd = comfy.utils.load_torch_file(full_path) - vae = comfy.sd.VAE(sd=sd) - return (vae,) - -# Ensure the node is registered properly -NODE_CLASS_MAPPINGS = {"SDXLVAELoader": SDXLVAELoader} -NODE_DISPLAY_NAME_MAPPINGS = {"SDXLVAELoader": "SDXL VAE Loader"} - -__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]