118 lines
4.8 KiB
Python
118 lines
4.8 KiB
Python
# -*- coding: utf-8 -*-
|
||
# Filename: __init__.py
|
||
# Developer: jammyfu
|
||
|
||
import os
|
||
import locale
|
||
from .modules.text.i18n import I18n
|
||
|
||
# 获取当前文件所在目录
|
||
EXTENSION_FOLDER = os.path.dirname(os.path.realpath(__file__))
|
||
|
||
# 导入所有非测试节点类
|
||
from .modules.images.mask_preview import MaskPreview
|
||
from .modules.images.image_resolution_creator import ImageSizeCreator
|
||
from .modules.images.image_resolution_creator import ImageLatentCreator
|
||
from .modules.images.image_resolution_creator_plus import ImageSizeCreatorPlus
|
||
from .modules.images.image_resolution_creator_plus import ImageLatentCreatorPlus
|
||
from .modules.images.dynamic_image_input import DynamicImageCombiner
|
||
from .modules.images.dynamic_mask_input import DynamicMaskCombiner
|
||
from .modules.images.image_resolution_adjuster import ImageResolutionAdjuster
|
||
from .modules.text.text_combiner import TextCombiner
|
||
from .modules.text.show_text_plus import ShowTextPlus
|
||
from .modules.text.simple_text_input import SimpleTextInput
|
||
from .modules.text.multiline_text_input import MultilineTextInput
|
||
from .modules.text.remove_empty_lines import RemoveEmptyLinesAndLeadingSpaces
|
||
from .modules.switch.switch_node import TextSwitch
|
||
from .modules.switch.switch_node import ImageSwitch
|
||
from .modules.switch.switch_node import MaskSwitch
|
||
from .modules.switch.switch_node import LatentSwitch
|
||
from .modules.web.web_image_loader import WebImageLoader
|
||
from .modules.images.image_base64_converter import ImageToBase64
|
||
from .modules.utils.output_converter import OutputToTextConverter
|
||
|
||
|
||
|
||
|
||
# 节点类映射
|
||
NODE_CLASS_MAPPINGS = {
|
||
"PaintingCoder::DynamicImageCombiner": DynamicImageCombiner,
|
||
"PaintingCoder::ImageLatentCreator": ImageLatentCreator,
|
||
"PaintingCoder::ImageLatentCreatorPlus": ImageLatentCreatorPlus,
|
||
"PaintingCoder::ImageResolutionAdjuster": ImageResolutionAdjuster,
|
||
"PaintingCoder::ImageSizeCreator": ImageSizeCreator,
|
||
"PaintingCoder::ImageSizeCreatorPlus": ImageSizeCreatorPlus,
|
||
"PaintingCoder::ImageToBase64": ImageToBase64,
|
||
|
||
"PaintingCoder::DynamicMaskCombiner": DynamicMaskCombiner,
|
||
"PaintingCoder::MaskPreview": MaskPreview,
|
||
"PaintingCoder::ImageSwitch": ImageSwitch,
|
||
"PaintingCoder::LatentSwitch": LatentSwitch,
|
||
"PaintingCoder::MaskSwitch": MaskSwitch,
|
||
"PaintingCoder::TextSwitch": TextSwitch,
|
||
|
||
"PaintingCoder::MultilineTextInput": MultilineTextInput,
|
||
"PaintingCoder::OutputToTextConverter": OutputToTextConverter,
|
||
"PaintingCoder::RemoveEmptyLinesAndLeadingSpaces": RemoveEmptyLinesAndLeadingSpaces,
|
||
"PaintingCoder::ShowTextPlus": ShowTextPlus,
|
||
"PaintingCoder::SimpleTextInput": SimpleTextInput,
|
||
"PaintingCoder::TextCombiner": TextCombiner,
|
||
|
||
"PaintingCoder::WebImageLoader": WebImageLoader,
|
||
}
|
||
|
||
# 节点显示名称映射
|
||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||
# Image Nodes
|
||
"PaintingCoder::DynamicImageCombiner": "Dynamic Image Input 🖼️",
|
||
"PaintingCoder::ImageLatentCreator": "Image Latent Creator 🎨",
|
||
"PaintingCoder::ImageLatentCreatorPlus": "Image Latent Creator Plus ✨",
|
||
"PaintingCoder::ImageResolutionAdjuster": "Image Resolution Adjuster 📐",
|
||
"PaintingCoder::ImageSizeCreator": "Image Size Creator 📏",
|
||
"PaintingCoder::ImageSizeCreatorPlus": "Image Size Creator Plus ✨",
|
||
"PaintingCoder::ImageToBase64": "Image To Base64 🎨",
|
||
|
||
# Mask Nodes
|
||
"PaintingCoder::DynamicMaskCombiner": "Dynamic Mask Input 🎭",
|
||
"PaintingCoder::MaskPreview": "Mask Preview 🎭",
|
||
|
||
# Switch Nodes
|
||
"PaintingCoder::ImageSwitch": "Image Switch 🔄",
|
||
"PaintingCoder::LatentSwitch": "Latent Switch 🔄",
|
||
"PaintingCoder::MaskSwitch": "Mask Switch 🔄",
|
||
"PaintingCoder::TextSwitch": "Text Switch 🔄",
|
||
|
||
# Text Nodes
|
||
"PaintingCoder::MultilineTextInput": "Multiline Text Input 📝",
|
||
"PaintingCoder::OutputToTextConverter": "Output To Text Converter 📝",
|
||
"PaintingCoder::RemoveEmptyLinesAndLeadingSpaces": "Remove Empty Lines And Leading Spaces 📝",
|
||
"PaintingCoder::ShowTextPlus": "Show Text Plus 📝",
|
||
"PaintingCoder::SimpleTextInput": "Simple Text Input 📝",
|
||
"PaintingCoder::TextCombiner": "Text Combiner ✍️",
|
||
|
||
# Web Nodes
|
||
"PaintingCoder::WebImageLoader": "Web Image Loader 🌐(URL Or Base64)",
|
||
}
|
||
|
||
# Web 目录配置
|
||
WEB_DIRECTORY = "./web"
|
||
print(f"Loading web directory from: {WEB_DIRECTORY}")
|
||
|
||
# 导出必要的变量
|
||
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']
|
||
|
||
# 添加 Web 目录到 ComfyUI
|
||
def get_web_dirs():
|
||
return [WEB_DIRECTORY]
|
||
|
||
def init():
|
||
try:
|
||
# 获取系统语言设置
|
||
system_lang = locale.getdefaultlocale()[0]
|
||
if system_lang:
|
||
lang_code = system_lang.split('_')[0].lower()
|
||
I18n.set_language(lang_code)
|
||
except:
|
||
# 如果获取失败,默认使用英文
|
||
I18n.set_language('en')
|