black fixes

This commit is contained in:
Benedikt Bartscher 2024-02-29 00:31:35 +01:00
parent a5d197c2fb
commit faebd22185
No known key found for this signature in database
4 changed files with 16 additions and 10 deletions

View File

@ -65,7 +65,9 @@ class Base(pydantic.BaseModel):
"""
from reflex.utils.serializers import serialize
return self.__pydantic_serializer__.to_json(value=self, fallback=serialize).decode()
return self.__pydantic_serializer__.to_json(
value=self, fallback=serialize
).decode()
def set(self, **kwargs):
"""Set multiple fields and return the object.
@ -89,7 +91,6 @@ class Base(pydantic.BaseModel):
"""
return cls.model_fields
@classmethod
def add_field(cls, var: Any, default_value: Any):
"""Add a pydantic field after class definition.
@ -104,7 +105,6 @@ class Base(pydantic.BaseModel):
cls.model_fields.update({var._var_name: field_info})
cls.model_rebuild(force=True)
def get_value(self, key: str) -> Any:
"""Get the value of a field.

View File

@ -151,7 +151,7 @@ RESERVED_BACKEND_VAR_NAMES = {
"_substate_var_dependencies",
"_always_dirty_computed_vars",
"_always_dirty_substates",
"_abc_impl", # pydantic v2
"_abc_impl", # pydantic v2
"_was_touched",
}
@ -159,6 +159,7 @@ SPECIAL_METHODS = {
"model_post_init", # never treat this as an event handler
}
def _substate_key(
token: str,
state_cls_or_name: BaseState | Type[BaseState] | str | list[str],
@ -435,9 +436,9 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
# Set the base and computed vars.
cls.base_vars = {
field_name: BaseVar(_var_name=field_name, _var_type=field.annotation)._var_set_state(
cls
)
field_name: BaseVar(
_var_name=field_name, _var_type=field.annotation
)._var_set_state(cls)
for field_name, field in cls.get_fields().items()
if field_name not in cls.get_skip_vars()
}

View File

@ -168,7 +168,11 @@ def get_attribute_access_type(cls: GenericType, name: str) -> GenericType | None
# pydantic models
field = cls.model_fields[name]
type_ = field.annotation
if not field.is_required() and field.default is None and field.default_factory is None:
if (
not field.is_required()
and field.default is None
and field.default_factory is None
):
# Ensure frontend uses null coalescing when accessing.
type_ = Optional[type_]
return type_

View File

@ -220,7 +220,9 @@ def _encode_var(value: Var) -> str:
final_value = str(value)
data = value._var_data.dict()
data["string_length"] = len(final_value)
data_json = value._var_data.__pydantic_serializer__.to_json(value=data, fallback=serialize).decode()
data_json = value._var_data.__pydantic_serializer__.to_json(
value=data, fallback=serialize
).decode()
return (
f"{constants.REFLEX_VAR_OPENING_TAG}{data_json}{constants.REFLEX_VAR_CLOSING_TAG}"
@ -243,7 +245,6 @@ def _decode_var(value: str) -> tuple[VarData | None, str]:
if isinstance(value, str):
offset = 0
def json_loads(s):
try:
return VarData.model_validate(s)