68 lines
2.7 KiB
Python
68 lines
2.7 KiB
Python
"""
|
|
@author: Derfuu
|
|
@title: Derfuu simple/modded Nodes
|
|
@nickname: Derfuu simple/modded Nodes
|
|
@description: Pack of simple (or not) and modded nodes for scaling images/latents, editing numbers or text. Automate calculations depending on image sizes or any other thing you want. Or randomize any number in your workflow. Debug node included.
|
|
"""
|
|
|
|
from .pyscripts.Nodes.Custom import Types as TypeNodes
|
|
|
|
from .pyscripts.Nodes.Debug import Debug as DebugNodes
|
|
|
|
from .pyscripts.Nodes.Functions import Converters as ConvNodes
|
|
from .pyscripts.Nodes.Functions import GetSizes as GetSizes
|
|
from .pyscripts.Nodes.Functions import Random as RandNodes
|
|
from .pyscripts.Nodes.Functions import Strings as StringNodes
|
|
|
|
from .pyscripts.Nodes.Math import SimpleMath as SMath
|
|
from .pyscripts.Nodes.Math import Trigonometry as TMath
|
|
|
|
from .pyscripts.Nodes.Custom import LogicNode as LNode
|
|
|
|
from .pyscripts.Nodes.Modded import Images as St_ImageNodes
|
|
from .pyscripts.Nodes.Modded import Latents as St_LatentNodes
|
|
from .pyscripts.Nodes.Modded import Conditioning as St_CondNodes
|
|
|
|
|
|
_ident = "DF_"
|
|
_n = lambda name: f"{_ident}{name}"
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
_n("Float"): TypeNodes.FloatNode,
|
|
_n("Integer"): TypeNodes.IntegerNode,
|
|
_n("Text"): TypeNodes.StringNode,
|
|
_n("Text_Box"): TypeNodes.MultilineStringNode,
|
|
_n("DynamicPrompts_Text_Box"): TypeNodes.AsDynamicPromptsStringNode,
|
|
_n("String_Concatenate"): StringNodes.StringConcat,
|
|
_n("String_Replace"): StringNodes.StringReplace,
|
|
_n("Search_In_Text"): StringNodes.SearchInText,
|
|
_n("To_text_(Debug)"): DebugNodes.ShowDataDebug,
|
|
_n("Random"): RandNodes.RandomValue,
|
|
_n("Int_to_Float"): ConvNodes.Int2Float,
|
|
_n("Ceil"): ConvNodes.CeilNode,
|
|
_n("Floor"): ConvNodes.FloorNode,
|
|
_n("Absolute_value"): ConvNodes.ABSNode,
|
|
_n("Get_latent_size"): GetSizes.GetLatentSize,
|
|
_n("Get_image_size"): GetSizes.GetImageSize,
|
|
_n("Sum"): SMath.SumNode,
|
|
_n("Subtract"): SMath.SubtractNode,
|
|
_n("Multiply"): SMath.MultiplyNode,
|
|
_n("Divide"): SMath.DivideNode,
|
|
_n("Power"): SMath.PowNode,
|
|
_n("Square_root"): SMath.SquareRootNode,
|
|
_n("Sinus"): TMath.SinNode,
|
|
_n("Cosines"): TMath.CosNode,
|
|
_n("Tangent"): TMath.tgNode,
|
|
_n("Logic_node"): LNode.LogicNode,
|
|
_n("Latent_Scale_by_ratio"): St_LatentNodes.LatentScale_Ratio,
|
|
_n("Latent_Scale_to_side"): St_LatentNodes.LatentScale_Side,
|
|
_n("Image_scale_by_ratio"): St_ImageNodes.ImageScale_Ratio,
|
|
_n("Image_scale_to_side"): St_ImageNodes.ImageScale_Side,
|
|
_n("Conditioning_area_scale_by_ratio"): St_CondNodes.ConditioningAreaScale_Ratio,
|
|
}
|
|
|
|
WEB_DIRECTORY = "./scripts"
|
|
NODE_DISPLAY_NAME_MAPPINGS = {k: k.replace(_ident, "").replace("_", " ") for k in NODE_CLASS_MAPPINGS}
|
|
|
|
__all__ = ["NODE_CLASS_MAPPINGS", "WEB_DIRECTORY"]
|