chore(api): fix mypy violations.

pull/19737/head
QuantumGhost 1 year ago
parent 24386fd952
commit 8cb58584cb

@ -50,7 +50,7 @@ class EnumText(TypeDecorator, Generic[_E]):
# leave some rooms for future longer enum values. # leave some rooms for future longer enum values.
self._length = max(max_enum_value_len, 20) self._length = max(max_enum_value_len, 20)
def process_bind_param(self, value: _E | str, dialect): def process_bind_param(self, value: _E | str | None, dialect):
if value is None: if value is None:
return value return value
if isinstance(value, self._enum_class): if isinstance(value, self._enum_class):

@ -1,4 +1,5 @@
import json import json
import logging
from collections.abc import Mapping, Sequence from collections.abc import Mapping, Sequence
from datetime import UTC, datetime from datetime import UTC, datetime
from enum import Enum, StrEnum from enum import Enum, StrEnum
@ -29,6 +30,8 @@ from .engine import db
from .enums import CreatorUserRole, DraftVariableType from .enums import CreatorUserRole, DraftVariableType
from .types import EnumText, StringUUID from .types import EnumText, StringUUID
_logger = logging.getLogger(__name__)
if TYPE_CHECKING: if TYPE_CHECKING:
from models.model import AppMode from models.model import AppMode
@ -890,7 +893,15 @@ class WorkflowDraftVariable(Base):
editable: Mapped[bool] = mapped_column(sa.Boolean, nullable=False, default=False) editable: Mapped[bool] = mapped_column(sa.Boolean, nullable=False, default=False)
def get_selector(self) -> list[str]: def get_selector(self) -> list[str]:
return json.loads(self.selector) selector = json.loads(self.selector)
if not isinstance(selector, list):
_logger.error(
"invalid selector loaded from database, type=%s, value=%s",
type(selector),
self.selector,
)
raise ValueError("invalid selector.")
return selector
def _set_selector(self, value: list[str]): def _set_selector(self, value: list[str]):
self.selector = json.dumps(value) self.selector = json.dumps(value)

Loading…
Cancel
Save