- BridgeInputANY: any-type universal input node - Scalar BridgeInput nodes: added optional value_link port for node connection - Serialization: MODEL/CLIP/VAE/CONDITIONING/LATENT full support - node_list.json: ComfyUI Manager integration - .github/workflows/publish.yml: automated PyPI publishing via OIDC - client: ANY type support in workflow parser and patcher
28 lines
901 B
Python
28 lines
901 B
Python
"""타입 상수 및 Python ↔ ComfyUI 값 변환 유틸리티."""
|
|
|
|
from typing import Any
|
|
|
|
PRIMITIVE_TYPES = {"STRING", "INT", "FLOAT", "BOOLEAN"}
|
|
COMPLEX_TYPES = {"IMAGE", "MASK", "LATENT", "MODEL", "CLIP", "VAE", "CONDITIONING"}
|
|
ANY_TYPE = {"ANY"}
|
|
ALL_TYPES = PRIMITIVE_TYPES | COMPLEX_TYPES | ANY_TYPE
|
|
|
|
|
|
def convert_value(value: Any, type_name: str) -> Any:
|
|
"""
|
|
Python 값을 ComfyUI 워크플로우 JSON에 주입 가능한 형태로 변환한다.
|
|
|
|
- 스칼라 타입: Python 기본 타입으로 캐스팅
|
|
- 복합 타입 / ANY: 그대로 전달 (업로드 후 파일명, 노드 링크 등)
|
|
"""
|
|
if type_name == "STRING":
|
|
return str(value)
|
|
if type_name == "INT":
|
|
return int(value)
|
|
if type_name == "FLOAT":
|
|
return float(value)
|
|
if type_name == "BOOLEAN":
|
|
return bool(value)
|
|
# 복합 타입 및 ANY: 그대로
|
|
return value
|