From 4e9115a5c63c940816a50b762afac6340a4d1ada Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Oct 2022 13:36:52 +0200 Subject: [PATCH] Add missing typing to example (#4596) (#4605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add missing typing to example * Update example typing. Co-authored-by: Rémy HUBSCHER --- docs/examples/schema_with_field.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/examples/schema_with_field.py b/docs/examples/schema_with_field.py index 9288efd8cd..860903e55b 100644 --- a/docs/examples/schema_with_field.py +++ b/docs/examples/schema_with_field.py @@ -1,5 +1,5 @@ # output-json -from typing import Optional +from typing import Any, Callable, Dict, Generator, Optional from pydantic import BaseModel, Field from pydantic.fields import ModelField @@ -7,18 +7,20 @@ class RestrictedAlphabetStr(str): @classmethod - def __get_validators__(cls): + def __get_validators__(cls) -> Generator[Callable, None, None]: yield cls.validate @classmethod - def validate(cls, value, field: ModelField): + def validate(cls, value: str, field: ModelField): alphabet = field.field_info.extra['alphabet'] if any(c not in alphabet for c in value): raise ValueError(f'{value!r} is not restricted to {alphabet!r}') return cls(value) @classmethod - def __modify_schema__(cls, field_schema, field: Optional[ModelField]): + def __modify_schema__( + cls, field_schema: Dict[str, Any], field: Optional[ModelField] + ): if field: alphabet = field.field_info.extra['alphabet'] field_schema['examples'] = [c * 3 for c in alphabet]