From db7e0e1de83b68f5886e7d35408951e9a1046fea Mon Sep 17 00:00:00 2001 From: mittimi Date: Sat, 7 Feb 2026 21:06:04 +0900 Subject: [PATCH] Add files via upload --- nodes.py | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/nodes.py b/nodes.py index ece3ad7..9d3e8ff 100644 --- a/nodes.py +++ b/nodes.py @@ -3,9 +3,74 @@ import comfy.sd from comfy.cli_args import args import folder_paths import os +import re +import toml import json +my_directory_path = os.path.dirname((os.path.abspath(__file__))) +presets_path_wh = os.path.join(my_directory_path, "presets/width_height/presets.toml") +preset_data_wh = "" +with open(presets_path_wh, 'r') as f: + preset_data_wh = toml.load(f) +wh_list = re.findall(r"\b\d+x\d+\b", preset_data_wh['wh']) + + + +# ################################################################### +# Input +# ################################################################### + + +class WidthHeightMittimi: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "Width": ("INT", {"default": 512, "min": 1, "max": 2147483647} ), + "Height": ("INT", {"default": 512, "min": 1, "max": 2147483647} ), + }, + "optional": { + "preset": (wh_list, ), + }, + "hidden": {"node_id": "UNIQUE_ID" } + } + + RETURN_TYPES = ("INT", "INT", ) + RETURN_NAMES = ("width", "height", ) + FUNCTION = "widthHeightMittimi" + CATEGORY = "mittimiTools" + + def widthHeightMittimi(self, Width, Height, node_id, preset=[], ): + return(Width, Height, ) + + +class DaisyChainStringMittimi: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "add_first": ("STRING", ), + "text": ("STRING", {"multiline": True}), + }, + "optional": { + "add_last": ("STRING", ), + }, + } + RETURN_TYPES = ("STRING", ) + RETURN_NAMES = ("text", ) + FUNCTION = "daisyChainStringMittimi" + CATEGORY = "mittimiTools" + + def daisyChainStringMittimi(self, text, add_first="", add_last="", ): + + return(add_first + text + add_last, ) + + +# ################################################################### +# IO +# ################################################################### + + class SaveLatentToInputFolderMittimi: SEARCH_ALIASES = ["export latent"] @@ -62,13 +127,78 @@ class SaveLatentToInputFolderMittimi: return { "ui": { "latents": results } } +# ################################################################### +# Logic +# ################################################################### + + +class AnyType(str): + def __ne__(self, __value: object) -> bool: + return False +anytype = AnyType("*") + + +class AllowPassMittimi: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "Pass": ("BOOLEAN", {"default": True}), + "AnyData": (anytype,), + }, + } + + RETURN_TYPES = (anytype,) + RETURN_NAMES = ("AnyData",) + FUNCTION = "allowPassMittimi" + CATEGORY = "mittimiTools" + + def allowPassMittimi(self, Pass, AnyData): + + return_data = None + if Pass: + return_data = AnyData + + return (return_data, ) + + +class CompareLengthsMittimi: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "Width": ("INT", {"default": 512, "min": 1, "max": 2147483647} ), + "Height": ("INT", {"default": 512, "min": 1, "max": 2147483647} ), + }, + } + + RETURN_TYPES = ("INT", "INT", ) + RETURN_NAMES = ("long", "short", ) + FUNCTION = "compareLengthsMittimi" + CATEGORY = "mittimiTools" + + def compareLengthsMittimi(self, Width, Height, ): + longlength = Width + shortlength = Height + if (Height > Width): + longlength = Height + shortlength = Width + return(longlength, shortlength, ) + NODE_CLASS_MAPPINGS = { + "WidthHeightMittimi": WidthHeightMittimi, + "DaisyChainStringMittimi": DaisyChainStringMittimi, "SaveLatentToInputFolderMittimi": SaveLatentToInputFolderMittimi, + "AllowPassMittimi": AllowPassMittimi, + "CompareLengthsMittimi": CompareLengthsMittimi, } NODE_DISPLAY_NAME_MAPPINGS = { + "WidthHeightMittimi": "WidthHeight", + "DaisyChainStringMittimi": "DaisyChainString", "SaveLatentToInputFolderMittimi": "SaveLatentToInputFolder", + "AllowPassMittimi": "AllowPass", + "CompareLengthsMittimi": "CompareLengths", }