summaryrefslogtreecommitdiff
path: root/jsonschema/_validators.py
diff options
context:
space:
mode:
authorJulian Berman <Julian@GrayVines.com>2021-08-23 10:37:14 +0100
committerJulian Berman <Julian@GrayVines.com>2021-08-23 10:37:14 +0100
commitaca914c0508bca7bb862f060b503bb01a3b98d92 (patch)
treee3c536ab94709fce40e950e9d6a897e760fb30ff /jsonschema/_validators.py
parente38e5cfa97065cb5dbbcdf0e05ca2db3dbc06751 (diff)
downloadjsonschema-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.py9
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)