From 0d6ecfeb40056af6043c40fe591abf1b54a886fc Mon Sep 17 00:00:00 2001 From: TheNoxium Date: Mon, 24 Nov 2025 04:12:26 +0700 Subject: [PATCH] fix: descriptor (listen, set, if, )deprecated typings --- core/vork_node.py | 10 +++---- core/vork_node_link.py | 4 +-- core/vork_node_registry.py | 10 +++---- core/vork_node_test.py | 4 +-- model_nodes/form_base_descriptor_models.py | 15 ++++++---- model_nodes/node_if_models.py | 14 ++++++---- model_nodes/node_link_models.py | 2 +- model_nodes/node_listen_models.py | 28 +++++++++---------- model_nodes/node_set_models.py | 22 +++------------ nodes/vork_node_callback.py | 6 ++-- nodes/vork_node_each.py | 6 ++-- nodes/vork_node_if.py | 4 +-- nodes/vork_node_listen.py | 6 ++-- nodes/vork_node_run.py | 6 ++-- nodes/vork_node_set.py | 6 ++-- nodes/vork_node_switch.py | 6 ++-- nodes/vork_node_trigger.py | 6 ++-- nodes/vork_node_wait.py | 6 ++-- nodes/vork_node_while.py | 6 ++-- orm/schemas/process/node_link.py | 4 +-- orm/schemas/process/process_schema.py | 4 +-- .../process/process_version_archive.py | 4 +-- orm/schemas/process/ps_node.py | 4 +-- 23 files changed, 89 insertions(+), 94 deletions(-) diff --git a/core/vork_node.py b/core/vork_node.py index c00e202..dc4627a 100644 --- a/core/vork_node.py +++ b/core/vork_node.py @@ -1,16 +1,16 @@ from abc import ABC, abstractmethod -from typing import Any, Dict +from typing import Any class VorkNode(ABC): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any]): - self.data: Dict[str, Any] = data - self.links: Dict[str, Any] = links + def __init__(self, data: dict[str, Any], links: dict[str, Any]): + self.data: dict[str, Any] = data + self.links: dict[str, Any] = links @classmethod @abstractmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: pass @abstractmethod diff --git a/core/vork_node_link.py b/core/vork_node_link.py index 74bc757..ceac138 100644 --- a/core/vork_node_link.py +++ b/core/vork_node_link.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from model_nodes import VorkNodeLinkData, VorkNodeLinkSchema @@ -8,7 +8,7 @@ from .link_name_generator import edge_title_generator, edge_title_to_number class VorkNodeLink: - def __init__(self, data: Dict[str, Any]): + def __init__(self, data: dict[str, Any]): """ Инициализация связи между узлами """ diff --git a/core/vork_node_registry.py b/core/vork_node_registry.py index 43a27d6..ff584a2 100644 --- a/core/vork_node_registry.py +++ b/core/vork_node_registry.py @@ -1,18 +1,18 @@ import importlib import inspect import pkgutil -from typing import Dict, Type, Optional, List +from typing import Type, Optional from .vork_node import VorkNode class VorkNodeRegistry: def __init__(self): - self.registry: Dict[str, Type[VorkNode]] = {} + self.registry: dict[str, Type[VorkNode]] = {} # Автоматически сканируем пакет 'nodes' при создании self._auto_discover_nodes() - def get_all(self) -> Dict[str, Type[VorkNode]]: + def get_all(self) -> dict[str, Type[VorkNode]]: return self.registry.copy() def get(self, node_type: str) -> Optional[Type[VorkNode]]: @@ -55,12 +55,12 @@ class VorkNodeRegistry: except Exception as e: print(f"Ошибка при сканировании пакета 'nodes': {e}") - def get_available_node_types(self) -> List[str]: + def get_available_node_types(self) -> list[str]: """ Возвращает список всех доступных типов узлов Returns: - List[str]: Список типов узлов + list[str]: Список типов узлов """ return list(self.registry.keys()) diff --git a/core/vork_node_test.py b/core/vork_node_test.py index febbb37..f25a18d 100644 --- a/core/vork_node_test.py +++ b/core/vork_node_test.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from .vork_node import VorkNode from model_nodes.node_test_models import ( TestNodeData, @@ -9,7 +9,7 @@ from model_nodes.node_test_models import ( class VorkNodeTest(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла test """ diff --git a/model_nodes/form_base_descriptor_models.py b/model_nodes/form_base_descriptor_models.py index 70277df..82af7fe 100644 --- a/model_nodes/form_base_descriptor_models.py +++ b/model_nodes/form_base_descriptor_models.py @@ -1,10 +1,10 @@ from __future__ import annotations -from typing import Optional, Annotated, Literal, List +from typing import Optional, Annotated, Literal, Any from pydantic import BaseModel, Field class LinkPort(BaseModel): - id: str + id: int label: str is_addable: Optional[bool] = None @@ -14,6 +14,7 @@ class LineElement(BaseModel): name: str label: str placeholder: Optional[str] = None + value: str = None class AreaElement(BaseModel): @@ -21,15 +22,17 @@ class AreaElement(BaseModel): name: str label: str placeholder: Optional[str] = None + value: str = None class SelectElement(BaseModel): type: Literal['select'] name: str label: str - data: List[str] + data: list[str] default: Optional[str] = None placeholder: Optional[str] = None + value: Optional[Any] = None class NumberElement(BaseModel): @@ -37,6 +40,7 @@ class NumberElement(BaseModel): name: str label: str placeholder: Optional[str] = None + value: int | float class DateElement(BaseModel): @@ -44,6 +48,7 @@ class DateElement(BaseModel): name: str label: str placeholder: Optional[str] = None + value: str = None FieldElement = Annotated[ @@ -57,11 +62,11 @@ class RowElement(BaseModel): name: str label: str link_port: Optional[LinkPort] = None - elements: Optional[List[FieldElement]] = None + elements: Optional[list[FieldElement]] = None class FormDescriptor(BaseModel): - elements: List[RowElement] + elements: list[RowElement] # Descriptor-suffixed aliases for clarity (backward compatible) diff --git a/model_nodes/node_if_models.py b/model_nodes/node_if_models.py index e402c6d..9746746 100644 --- a/model_nodes/node_if_models.py +++ b/model_nodes/node_if_models.py @@ -36,14 +36,18 @@ class IfNodeCoreSchema(BaseModel): data: Optional[IfNodeCoreSchemaData] = Field(default=None, description="Данные узла") -# Дескриптор формы узла IF IF_FORM_DESCRIPTOR = FormDescriptor( elements=[ + RowElement( + name="condition_row_label", + type="row", + label="condition_name", + ), RowElement( name="condition_row", type="row", - label="Condition", - link_port=LinkPort(id="then_output", label="Then"), + label="condition", + link_port=LinkPort(id=0, label="Then"), elements=[ AreaElement( name="condition", @@ -56,8 +60,8 @@ IF_FORM_DESCRIPTOR = FormDescriptor( RowElement( name="else_row", type="row", - label="Alternative path", - link_port=LinkPort(id="else_output", label="Else"), + label="alternative_path", + link_port=LinkPort(id=1, label="Else"), ), ] ) diff --git a/model_nodes/node_link_models.py b/model_nodes/node_link_models.py index 8e498e6..925b12d 100644 --- a/model_nodes/node_link_models.py +++ b/model_nodes/node_link_models.py @@ -1,4 +1,4 @@ -from typing import Optional, Dict, Any +from typing import Optional from pydantic import BaseModel, Field diff --git a/model_nodes/node_listen_models.py b/model_nodes/node_listen_models.py index 229d6f0..2f49a79 100644 --- a/model_nodes/node_listen_models.py +++ b/model_nodes/node_listen_models.py @@ -43,36 +43,36 @@ class ListenNodeCoreSchema(BaseModel): LISTEN_FORM_DESCRIPTOR = FormDescriptor( elements=[ RowElement( - name="event_row", + name="listen_row_label", type="row", - label="Event", + label="listen_name", + ), + RowElement( + name="listen_row", + type="row", + label="event_input", elements=[ LineElement( - name="event_name", + name="event_id", type="line", - label="Event", + label="event_id", placeholder="Event identifier", ) ], ), RowElement( - name="condition_row", + name="listen_row", type="row", - label="Condition", + label="condition_input", + link_port=LinkPort(id=0, label="Then"), elements=[ AreaElement( - name="condition", + name="listen_condition", type="area", - label="Condition", + label="listen_condition", placeholder="If P([condition(i), [AND, OR]]) == true", ) ], ), - RowElement( - name="then_row", - type="row", - label="Then", - link_port=LinkPort(id="then_output", label="Then"), - ), ] ) diff --git a/model_nodes/node_set_models.py b/model_nodes/node_set_models.py index 8ffccde..b6baa59 100644 --- a/model_nodes/node_set_models.py +++ b/model_nodes/node_set_models.py @@ -41,22 +41,14 @@ class SetNodeCoreSchema(BaseModel): SET_FORM_DESCRIPTOR = FormDescriptor( elements=[ RowElement( - name="variable_row", + name="set_row_label", type="row", - label="Parameter name", - elements=[ - LineElement( - name="variable", - type="line", - label="Parameter name", - placeholder="Enter parameter name", - ) - ], + label="set_row_name", ), RowElement( name="value_row", type="row", - label="Value", + label="set_value", elements=[ AreaElement( name="value", @@ -65,13 +57,7 @@ SET_FORM_DESCRIPTOR = FormDescriptor( placeholder="Enter value", ) ], - ), - RowElement( - name="link_row", - type="row", - label="Link", - link_port=LinkPort(id="then_output", label="then"), - elements=[], + link_port=LinkPort(id=0, label="then"), ), ] ) diff --git a/nodes/vork_node_callback.py b/nodes/vork_node_callback.py index 5ca1f9e..fa532c2 100644 --- a/nodes/vork_node_callback.py +++ b/nodes/vork_node_callback.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_callback_models import ( CallbackNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_callback_models import ( class VorkNodeCallback(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла callback """ @@ -22,7 +22,7 @@ class VorkNodeCallback(VorkNode): return "CALLBACK" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Callback """ diff --git a/nodes/vork_node_each.py b/nodes/vork_node_each.py index 88dc669..0befce9 100644 --- a/nodes/vork_node_each.py +++ b/nodes/vork_node_each.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_each_models import ( EachNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_each_models import ( class VorkNodeEach(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла each """ @@ -22,7 +22,7 @@ class VorkNodeEach(VorkNode): return "EACH" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Each """ diff --git a/nodes/vork_node_if.py b/nodes/vork_node_if.py index 976dc7f..b1288fc 100644 --- a/nodes/vork_node_if.py +++ b/nodes/vork_node_if.py @@ -1,4 +1,4 @@ -from typing import Any, Dict +from typing import Any from core import VorkNode from model_nodes.node_if_models import ( IfNodeData, @@ -16,7 +16,7 @@ class VorkNodeIf(VorkNode): return "IF" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла IF """ diff --git a/nodes/vork_node_listen.py b/nodes/vork_node_listen.py index 4dbce87..099c04a 100644 --- a/nodes/vork_node_listen.py +++ b/nodes/vork_node_listen.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_listen_models import ( ListenNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_listen_models import ( class VorkNodeListen(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла listen """ @@ -22,7 +22,7 @@ class VorkNodeListen(VorkNode): return "LISTEN" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Listen """ diff --git a/nodes/vork_node_run.py b/nodes/vork_node_run.py index b11f19d..2ceab3c 100644 --- a/nodes/vork_node_run.py +++ b/nodes/vork_node_run.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_run_models import ( RunNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_run_models import ( class VorkNodeRun(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла run """ @@ -22,7 +22,7 @@ class VorkNodeRun(VorkNode): return "RUN" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Run """ diff --git a/nodes/vork_node_set.py b/nodes/vork_node_set.py index b6e70f7..2d266fa 100644 --- a/nodes/vork_node_set.py +++ b/nodes/vork_node_set.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_set_models import ( SetNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_set_models import ( class VorkNodeSet(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла set """ @@ -22,7 +22,7 @@ class VorkNodeSet(VorkNode): return "SET" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Set """ diff --git a/nodes/vork_node_switch.py b/nodes/vork_node_switch.py index 5200be7..2ee2797 100644 --- a/nodes/vork_node_switch.py +++ b/nodes/vork_node_switch.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_switch_models import ( SwitchNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_switch_models import ( class VorkNodeSwitch(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла switch """ @@ -22,7 +22,7 @@ class VorkNodeSwitch(VorkNode): return "SWITCH" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Switch """ diff --git a/nodes/vork_node_trigger.py b/nodes/vork_node_trigger.py index 581c72b..618d7d4 100644 --- a/nodes/vork_node_trigger.py +++ b/nodes/vork_node_trigger.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_trigger_models import ( TriggerNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_trigger_models import ( class VorkNodeTrigger(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла trigger """ @@ -22,7 +22,7 @@ class VorkNodeTrigger(VorkNode): return "TRIGGER" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Trigger """ diff --git a/nodes/vork_node_wait.py b/nodes/vork_node_wait.py index 404fe63..e0b3eb8 100644 --- a/nodes/vork_node_wait.py +++ b/nodes/vork_node_wait.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_wait_models import ( WaitNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_wait_models import ( class VorkNodeWait(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла wait """ @@ -22,7 +22,7 @@ class VorkNodeWait(VorkNode): return "WAIT" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла Wait """ diff --git a/nodes/vork_node_while.py b/nodes/vork_node_while.py index b015a99..d132b8a 100644 --- a/nodes/vork_node_while.py +++ b/nodes/vork_node_while.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from core import VorkNode from model_nodes.node_while_models import ( WhileNodeData, @@ -11,7 +11,7 @@ from model_nodes.node_while_models import ( class VorkNodeWhile(VorkNode): - def __init__(self, data: Dict[str, Any], links: Dict[str, Any] = None): + def __init__(self, data: dict[str, Any], links: dict[str, Any] = None): """ Инициализация узла while """ @@ -22,7 +22,7 @@ class VorkNodeWhile(VorkNode): return "WHILE" @classmethod - def form(cls) -> Dict[str, Any]: + def form(cls) -> dict[str, Any]: """ Возвращает статический дескриптор формы для узла While """ diff --git a/orm/schemas/process/node_link.py b/orm/schemas/process/node_link.py index 75c01dd..9ad1c93 100644 --- a/orm/schemas/process/node_link.py +++ b/orm/schemas/process/node_link.py @@ -1,5 +1,5 @@ from pydantic import Field -from typing import Dict, Any +from typing import Any from datetime import datetime from enum import Enum @@ -12,7 +12,7 @@ class NodeLink(Base): link_name: str = Field(..., max_length=20) node_id: int next_node_id: int - settings: Dict[str, Any] + settings: dict[str, Any] creator_id: int created_at: datetime status: NodeLinkStatus diff --git a/orm/schemas/process/process_schema.py b/orm/schemas/process/process_schema.py index 2b4ceb4..2c4a8cc 100644 --- a/orm/schemas/process/process_schema.py +++ b/orm/schemas/process/process_schema.py @@ -1,5 +1,5 @@ from pydantic import Field -from typing import Dict, Any +from typing import Any from datetime import datetime from enum import Enum @@ -15,5 +15,5 @@ class ProcessSchema(Base): owner_id: int creator_id: int created_at: datetime - settings: Dict[str, Any] + settings: dict[str, Any] status: ProcessStatus diff --git a/orm/schemas/process/process_version_archive.py b/orm/schemas/process/process_version_archive.py index 2c4c158..243d26c 100644 --- a/orm/schemas/process/process_version_archive.py +++ b/orm/schemas/process/process_version_archive.py @@ -1,4 +1,4 @@ -from typing import Dict, Any +from typing import Any from datetime import datetime from orm.schemas.base import Base @@ -7,7 +7,7 @@ from orm.schemas.base import Base class ProcessStatusSchema(Base): id: int version: int - snapshot: Dict[str, Any] + snapshot: dict[str, Any] owner_id: int created_at: datetime is_last: int diff --git a/orm/schemas/process/ps_node.py b/orm/schemas/process/ps_node.py index e38577a..4d47d3b 100644 --- a/orm/schemas/process/ps_node.py +++ b/orm/schemas/process/ps_node.py @@ -1,5 +1,5 @@ from datetime import datetime -from typing import Dict, Any +from typing import Any from enum import Enum from orm.schemas.base import Base @@ -11,6 +11,6 @@ class Ps_Node(Base): ps_id: int node_type: NodeType settings: dict - creator_id: Dict[str, Any] + creator_id: dict[str, Any] created_at: datetime status: NodeStatus