`ddZddlmZddlmZmZmZmZddlZejdk\r ddlm Z m Z nddl m Z m Z erddl Z ddlmZddlmZe Gd d e Zy) z4 typing.Protocol classes for jsonschema interfaces. ) annotations) TYPE_CHECKINGAnyClassVarIteratorN))Protocolruntime_checkable)ValidationError) RefResolverceZdZUdZded<ded<ded<ded<d ed < d dd Zedd ZddZddZ ddZ ddZ ddZ y ) Validatora The protocol to which all validator classes should adhere. :argument schema: the schema that the validator object will validate with. It is assumed to be valid, and providing an invalid schema can lead to undefined behavior. See `Validator.check_schema` to validate a schema first. :argument resolver: an instance of `jsonschema.RefResolver` that will be used to resolve :kw:`$ref` properties (JSON references). If unprovided, one will be created. :argument format_checker: an instance of `jsonschema.FormatChecker` whose `jsonschema.FormatChecker.conforms` method will be called to check and see if instances conform to each :kw:`format` property present in the schema. If unprovided, no validation will be done for :kw:`format`. Certain formats require additional packages to be installed (ipv5, uri, color, date-time). The required packages can be found at the bottom of this page. zClassVar[dict] META_SCHEMA VALIDATORSz ClassVar[jsonschema.TypeChecker] TYPE_CHECKERz"ClassVar[jsonschema.FormatChecker]FORMAT_CHECKER dict | boolschemaNcy)N)selfrresolverformat_checkers 6/usr/lib/python3/dist-packages/jsonschema/protocols.py__init__zValidator.__init__Ys cy)z Validate the given schema against the validator's `META_SCHEMA`. :raises: `jsonschema.exceptions.SchemaError` if the schema is invalid Nr)clsrs r check_schemazValidator.check_schemaarcy)z Check if the instance is of the given (JSON Schema) type. :type type: str :rtype: bool :raises: `jsonschema.exceptions.UnknownType` if ``type`` is not a known type. Nr)rinstancetypes ris_typezValidator.is_typejr!rcy)z Check if the instance is valid under the current `schema`. :rtype: bool >>> schema = {"maxItems" : 2} >>> Draft202012Validator(schema).is_valid([2, 3, 4]) False Nrrr#s ris_validzValidator.is_validtr!rcy)a) Lazily yield each of the validation errors in the given instance. :rtype: an `collections.abc.Iterable` of `jsonschema.exceptions.ValidationError`\s >>> schema = { ... "type" : "array", ... "items" : {"enum" : [1, 2, 3]}, ... "maxItems" : 2, ... } >>> v = Draft202012Validator(schema) >>> for error in sorted(v.iter_errors([2, 3, 4]), key=str): ... print(error.message) 4 is not one of [1, 2, 3] [2, 3, 4] is too long Nrr's r iter_errorszValidator.iter_errorsr!rcy)a{ Check if the instance is valid under the current `schema`. :raises: `jsonschema.exceptions.ValidationError` if the instance is invalid >>> schema = {"maxItems" : 2} >>> Draft202012Validator(schema).validate([2, 3, 4]) Traceback (most recent call last): ... ValidationError: [2, 3, 4] is too long Nrr's rvalidatezValidator.validater!rc y)al Create a new validator like this one, but with given changes. Preserves all other attributes, so can be used to e.g. create a validator with a different schema but with the same :kw:`$ref` resolution behavior. >>> validator = Draft202012Validator({}) >>> validator.evolve(schema={"type": "number"}) Draft202012Validator(schema={'type': 'number'}, format_checker=None) The returned object satisfies the validator protocol, but may not be of the same concrete class! In particular this occurs when a :kw:`$ref` occurs to a schema with a different :kw:`$schema` than this one (i.e. for a different draft). >>> validator.evolve( ... schema={"$schema": Draft7Validator.META_SCHEMA["$id"]} ... ) Draft7Validator(schema=..., format_checker=None) Nr)rkwargss revolvezValidator.evolver!r)NN)rrrzRefResolver | Nonerzjsonschema.FormatChecker | NonereturnNone)rdictr0r1)r#rr$strr0bool)r#r2r0r4)r#r2r0zIterator[ValidationError])r#r2r0r1)r0z 'Validator') __name__ __module__ __qualname____doc____annotations__r classmethodr r%r(r*r,r/rrrrr0s*  3276  (,:>   % 8          &   rr)r8 __future__rtypingrrrrsys version_infor r typing_extensions jsonschemajsonschema.exceptionsr jsonschema.validatorsr rrrrrCs]#99 v22= 1-D D D r