lint, fmt

This commit is contained in:
JONEMI21 2025-11-10 12:30:50 +00:00
parent 88d2ace66a
commit 535a3ffc55
3 changed files with 21 additions and 9 deletions

View File

@ -350,7 +350,13 @@ def get_model_fields(model: Type[BaseModel]) -> List[ModelField]:
return list(model.__fields__.values()) # type: ignore[attr-defined]
def ignore_invalid(cls, v, values, field, **kwargs) -> Any:
def ignore_invalid(
cls: Any,
v: Dict[str, Any],
values: Dict[str, Any],
field: ModelField,
**kwargs: Any,
) -> Any:
from .may_v1 import _regenerate_error_with_loc
field_copy = deepcopy(field)
@ -398,6 +404,8 @@ def ignore_invalid(cls, v, values, field, **kwargs) -> Any:
return v
def omit_by_default(field_info: FieldInfo) -> tuple[FieldInfo, dict]:
def omit_by_default(
field_info: FieldInfo,
) -> Tuple[FieldInfo, Dict[str, Callable[..., Any]]]:
"""add a wrap validator to omit invalid values by default."""
return field_info, {"ignore_invalid": Validator(ignore_invalid, pre=True)}

View File

@ -493,7 +493,7 @@ def get_long_model_name(model: TypeModelOrEnum) -> str:
if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 6):
# Omit by default for scalar mapping and scalar sequence mapping annotations
# added in Pydantic v2.6 https://github.com/pydantic/pydantic/releases/tag/v2.6.0
def _omit_by_default(annotation):
def _omit_by_default(annotation: Any) -> Any:
origin = getattr(annotation, "__origin__", None)
args = getattr(annotation, "__args__", ())
@ -501,13 +501,15 @@ if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 6):
new_args = tuple(_omit_by_default(arg) for arg in args)
return Union[new_args]
elif origin in (list, List):
return List[_omit_by_default(args[0])]
return List[_omit_by_default(args[0])] # type: ignore[misc]
elif origin in (dict, Dict):
return Dict[args[0], _omit_by_default(args[1])]
return Dict[args[0], _omit_by_default(args[1])] # type: ignore[misc,valid-type]
else:
return OnErrorOmit[annotation]
return OnErrorOmit[annotation] # type: ignore[misc]
def omit_by_default(field_info: FieldInfo) -> tuple[FieldInfo, dict]:
def omit_by_default(
field_info: FieldInfo,
) -> tuple[FieldInfo, Dict[str, Callable[..., Any]]]:
new_annotation = _omit_by_default(field_info.annotation)
new_field_info = copy_field_info(
field_info=field_info, annotation=new_annotation
@ -554,7 +556,9 @@ else:
return handler(v)
def omit_by_default(field_info: FieldInfo) -> tuple[FieldInfo, dict]:
def omit_by_default(
field_info: FieldInfo,
) -> tuple[FieldInfo, Dict[str, Callable[..., Any]]]:
"""add a wrap validator to omit invalid values by default."""
field_info.metadata = field_info.metadata or [] + [
WrapValidator(ignore_invalid)

View File

@ -506,7 +506,7 @@ def analyze_param(
field_info.alias = alias
# Omit by default for scalar mapping and scalar sequence mapping query fields
class_validators: dict[str, list[Any]] = {}
class_validators: Dict[str, Callable[..., Any]] = {}
if isinstance(field_info, (params.Query, temp_pydantic_v1_params.Query)) and (
field_annotation_is_scalar_sequence_mapping(use_annotation_from_field_info)
or field_annotation_is_scalar_mapping(use_annotation_from_field_info)