minor pydantic fixups

This commit is contained in:
Benedikt Bartscher 2024-02-29 01:17:34 +01:00
parent 2def8b97e7
commit c057f2e3f3
No known key found for this signature in database
4 changed files with 9 additions and 3 deletions

View File

@ -2,7 +2,7 @@
from __future__ import annotations
import os
from typing import Any, List, Type, Dict, Optional
from typing import Any, List, Type
import pydantic
from pydantic import BaseModel

View File

@ -21,6 +21,8 @@ from typing import (
Union,
)
from pydantic.fields import ModelPrivateAttr
from reflex.base import Base
from reflex.compiler.templates import STATEFUL_COMPONENT
from reflex.components.tags import Tag
@ -226,6 +228,8 @@ class Component(BaseComponent, ABC):
inherited_rename_props = {}
for parent in reversed(cls.mro()):
if issubclass(parent, Component) and parent._rename_props:
if isinstance(parent._rename_props, ModelPrivateAttr):
parent._rename_props = parent._rename_props.default
inherited_rename_props.update(parent._rename_props)
cls._rename_props = inherited_rename_props

View File

@ -2080,6 +2080,7 @@ class StateManagerMemory(StateManager):
class Config:
"""The Pydantic config."""
# TODO: pydantic v2
fields = {
"_states_locks": {"exclude": True},
}

View File

@ -31,6 +31,7 @@ from typing import (
get_origin,
get_type_hints,
)
import pydantic_core
from reflex import constants
@ -248,8 +249,8 @@ def _decode_var(value: str) -> tuple[VarData | None, str]:
def json_loads(s):
try:
return VarData.model_validate(s)
except pydantic_core.ValidationError:
raise ValueError(f"Invalid VarData: {s}")
except pydantic_core.ValidationError as e:
raise ValueError(f"Invalid VarData: {s}") from e
# return VarData.model_validate(var_data_config.json_loads(f'"{s}"'))
# Compile regex for finding reflex var tags.