diff options
author | Julian Berman <Julian@GrayVines.com> | 2021-08-23 10:37:14 +0100 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2021-08-23 10:37:14 +0100 |
commit | aca914c0508bca7bb862f060b503bb01a3b98d92 (patch) | |
tree | e3c536ab94709fce40e950e9d6a897e760fb30ff /jsonschema/_validators.py | |
parent | e38e5cfa97065cb5dbbcdf0e05ca2db3dbc06751 (diff) | |
download | jsonschema-aca914c0508bca7bb862f060b503bb01a3b98d92.tar.gz |
Fix the schema path used by prefixItems errors.
Also simplify its implementation, what it's doing is just zip.
Diffstat (limited to 'jsonschema/_validators.py')
-rw-r--r-- | jsonschema/_validators.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/jsonschema/_validators.py b/jsonschema/_validators.py index 34baa09..7f05505 100644 --- a/jsonschema/_validators.py +++ b/jsonschema/_validators.py @@ -97,8 +97,7 @@ def additionalItems(validator, aI, instance, schema): elif not aI and len(instance) > len(schema.get("items", [])): error = "Additional items are not allowed (%s %s unexpected)" yield ValidationError( - error % - extras_msg(instance[len(schema.get("items", [])):]), + error % extras_msg(instance[len(schema.get("items", [])):]), ) @@ -450,7 +449,5 @@ def prefixItems(validator, prefixItems, instance, schema): if not validator.is_type(instance, "array"): return - for k, v in enumerate(instance[:min(len(prefixItems), len(instance))]): - yield from validator.descend( - v, prefixItems[k], schema_path="prefixItems", - ) + for (index, each), subschema in zip(enumerate(instance), prefixItems): + yield from validator.descend(each, subschema, schema_path=index) |