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

75 lines
2.2 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_run_models import (
RunNodeData,
RunNodeLinks,
RunNodeCoreSchema,
RunNodeCoreSchemaData,
RUN_FORM_DESCRIPTOR,
)
class VorkNodeRun(VorkNode):
def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None):
"""
Инициализация узла run
"""
super().__init__(data, links or {})
@property
def id(self) -> str:
return "RUN"
@classmethod
def form(cls) -> Dict[str, Any]:
"""
Возвращает статический дескриптор формы для узла Run
"""
return RUN_FORM_DESCRIPTOR
def validate(self) -> RunNodeCoreSchema:
"""
Валидирует данные узла run и возвращает схему
"""
try:
# Валидируем данные узла
validated_data = self.validate_data()
# Валидируем связи узла
validated_links = self.validate_links()
node_data = RunNodeCoreSchemaData(
then_port_number=0
)
# Создаем схему с валидированными данными
return RunNodeCoreSchema(
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"Run node validation error: {e}")
raise
def validate_data(self) -> RunNodeData:
"""
Валидирует данные узла run
"""
return RunNodeData(**self.data)
def validate_links(self) -> RunNodeLinks:
"""
Валидирует связи узла run
"""
return RunNodeLinks(**self.links)
def process(self, context):
"""
Обрабатывает логику узла run - выполнение встроенной задачи
"""
pass