Files
core/nodes/vork_node_set.py
2025-10-06 19:13:55 +05:00

73 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Dict, Any
from core import VorkNode
from model_nodes.node_set_models import (
SetNodeData,
SetNodeLinks,
SetNodeCoreSchema,
SetNodeCoreSchemaData,
SET_FORM_DESCRIPTOR,
)
class VorkNodeSet(VorkNode):
def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None):
"""
Инициализация узла set
"""
super().__init__(data, links or {})
@property
def id(self) -> str:
return "SET"
@classmethod
def form(cls) -> Dict[str, Any]:
"""
Возвращает статический дескриптор формы для узла Set
"""
return SET_FORM_DESCRIPTOR
def validate(self) -> SetNodeCoreSchema:
"""
Валидирует данные узла set и возвращает схему
"""
try:
# Валидируем данные узла
validated_data = self.validate_data()
# Валидируем связи узла
validated_links = self.validate_links()
# Создаем данные портов
node_data = SetNodeCoreSchemaData(
then_port_number=0,
)
# Создаем схему с валидированными данными
return SetNodeCoreSchema(
ps_id=validated_data.ps_id,
node_type=validated_data.node_type,
parent_id=validated_links.parent_id,
parent_port_number=validated_links.parent_port_number,
data=node_data
)
except Exception as e:
print(f"Set node validation error: {e}")
raise
def validate_data(self) -> SetNodeData:
"""
Валидирует данные узла set
"""
return SetNodeData(**self.data)
def validate_links(self) -> SetNodeLinks:
"""
Валидирует связи узла set
"""
return SetNodeLinks(**self.links)
def process(self, context):
pass