Forráskód Böngészése

minor pydantic fixups

Benedikt Bartscher 1 éve
szülő
commit
c057f2e3f3
4 módosított fájl, 9 hozzáadás és 3 törlés
  1. 1 1
      reflex/base.py
  2. 4 0
      reflex/components/component.py
  3. 1 0
      reflex/state.py
  4. 3 2
      reflex/vars.py

+ 1 - 1
reflex/base.py

@@ -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

+ 4 - 0
reflex/components/component.py

@@ -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
 

+ 1 - 0
reflex/state.py

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

+ 3 - 2
reflex/vars.py

@@ -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.