Skip to content

Commit d1153de

Browse files
authored
Merge pull request #132 from python-openapi/fix/jsonschema-keywords-module-rename-fix
Jsonschema keywords module rename fix
2 parents c513864 + 704dbd5 commit d1153de

File tree

4 files changed

+55
-55
lines changed

4 files changed

+55
-55
lines changed

openapi_schema_validator/_validators.py renamed to openapi_schema_validator/_keywords.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
from typing import Mapping
99
from typing import Union
1010

11+
from jsonschema._keywords import allOf as _allOf
12+
from jsonschema._keywords import anyOf as _anyOf
13+
from jsonschema._keywords import oneOf as _oneOf
1114
from jsonschema._utils import extras_msg
1215
from jsonschema._utils import find_additional_properties
13-
from jsonschema._validators import allOf as _allOf
14-
from jsonschema._validators import anyOf as _anyOf
15-
from jsonschema._validators import oneOf as _oneOf
1616
from jsonschema.exceptions import FormatError
1717
from jsonschema.exceptions import ValidationError
1818
from jsonschema.protocols import Validator

openapi_schema_validator/validators.py

+47-47
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,59 @@
22
from typing import Any
33
from typing import Type
44

5-
from jsonschema import _legacy_validators
6-
from jsonschema import _validators
5+
from jsonschema import _keywords
6+
from jsonschema import _legacy_keywords
77
from jsonschema.validators import Draft202012Validator
88
from jsonschema.validators import create
99
from jsonschema.validators import extend
1010
from jsonschema_specifications import REGISTRY as SPECIFICATIONS
1111

1212
from openapi_schema_validator import _format as oas_format
13+
from openapi_schema_validator import _keywords as oas_keywords
1314
from openapi_schema_validator import _types as oas_types
14-
from openapi_schema_validator import _validators as oas_validators
1515
from openapi_schema_validator._types import oas31_type_checker
1616

1717
OAS30Validator = create(
1818
meta_schema=SPECIFICATIONS.contents(
1919
"http://json-schema.org/draft-04/schema#",
2020
),
2121
validators={
22-
"multipleOf": _validators.multipleOf,
22+
"multipleOf": _keywords.multipleOf,
2323
# exclusiveMaximum supported inside maximum_draft3_draft4
24-
"maximum": _legacy_validators.maximum_draft3_draft4,
24+
"maximum": _legacy_keywords.maximum_draft3_draft4,
2525
# exclusiveMinimum supported inside minimum_draft3_draft4
26-
"minimum": _legacy_validators.minimum_draft3_draft4,
27-
"maxLength": _validators.maxLength,
28-
"minLength": _validators.minLength,
29-
"pattern": _validators.pattern,
30-
"maxItems": _validators.maxItems,
31-
"minItems": _validators.minItems,
32-
"uniqueItems": _validators.uniqueItems,
33-
"maxProperties": _validators.maxProperties,
34-
"minProperties": _validators.minProperties,
35-
"enum": _validators.enum,
26+
"minimum": _legacy_keywords.minimum_draft3_draft4,
27+
"maxLength": _keywords.maxLength,
28+
"minLength": _keywords.minLength,
29+
"pattern": _keywords.pattern,
30+
"maxItems": _keywords.maxItems,
31+
"minItems": _keywords.minItems,
32+
"uniqueItems": _keywords.uniqueItems,
33+
"maxProperties": _keywords.maxProperties,
34+
"minProperties": _keywords.minProperties,
35+
"enum": _keywords.enum,
3636
# adjusted to OAS
37-
"type": oas_validators.type,
38-
"allOf": oas_validators.allOf,
39-
"oneOf": oas_validators.oneOf,
40-
"anyOf": oas_validators.anyOf,
41-
"not": _validators.not_,
42-
"items": oas_validators.items,
43-
"properties": _validators.properties,
44-
"required": oas_validators.required,
45-
"additionalProperties": oas_validators.additionalProperties,
37+
"type": oas_keywords.type,
38+
"allOf": oas_keywords.allOf,
39+
"oneOf": oas_keywords.oneOf,
40+
"anyOf": oas_keywords.anyOf,
41+
"not": _keywords.not_,
42+
"items": oas_keywords.items,
43+
"properties": _keywords.properties,
44+
"required": oas_keywords.required,
45+
"additionalProperties": oas_keywords.additionalProperties,
4646
# TODO: adjust description
47-
"format": oas_validators.format,
47+
"format": oas_keywords.format,
4848
# TODO: adjust default
49-
"$ref": _validators.ref,
49+
"$ref": _keywords.ref,
5050
# fixed OAS fields
51-
"discriminator": oas_validators.not_implemented,
52-
"readOnly": oas_validators.readOnly,
53-
"writeOnly": oas_validators.writeOnly,
54-
"xml": oas_validators.not_implemented,
55-
"externalDocs": oas_validators.not_implemented,
56-
"example": oas_validators.not_implemented,
57-
"deprecated": oas_validators.not_implemented,
51+
"discriminator": oas_keywords.not_implemented,
52+
"readOnly": oas_keywords.readOnly,
53+
"writeOnly": oas_keywords.writeOnly,
54+
"xml": oas_keywords.not_implemented,
55+
"externalDocs": oas_keywords.not_implemented,
56+
"example": oas_keywords.not_implemented,
57+
"deprecated": oas_keywords.not_implemented,
5858
},
5959
type_checker=oas_types.oas30_type_checker,
6060
format_checker=oas_format.oas30_format_checker,
@@ -67,33 +67,33 @@
6767
OAS30ReadValidator = extend(
6868
OAS30Validator,
6969
validators={
70-
"required": oas_validators.read_required,
71-
"readOnly": oas_validators.not_implemented,
72-
"writeOnly": oas_validators.writeOnly,
70+
"required": oas_keywords.read_required,
71+
"readOnly": oas_keywords.not_implemented,
72+
"writeOnly": oas_keywords.writeOnly,
7373
},
7474
)
7575
OAS30WriteValidator = extend(
7676
OAS30Validator,
7777
validators={
78-
"required": oas_validators.write_required,
79-
"readOnly": oas_validators.readOnly,
80-
"writeOnly": oas_validators.not_implemented,
78+
"required": oas_keywords.write_required,
79+
"readOnly": oas_keywords.readOnly,
80+
"writeOnly": oas_keywords.not_implemented,
8181
},
8282
)
8383

8484
OAS31Validator = extend(
8585
Draft202012Validator,
8686
{
8787
# adjusted to OAS
88-
"allOf": oas_validators.allOf,
89-
"oneOf": oas_validators.oneOf,
90-
"anyOf": oas_validators.anyOf,
91-
"description": oas_validators.not_implemented,
88+
"allOf": oas_keywords.allOf,
89+
"oneOf": oas_keywords.oneOf,
90+
"anyOf": oas_keywords.anyOf,
91+
"description": oas_keywords.not_implemented,
9292
# fixed OAS fields
93-
"discriminator": oas_validators.not_implemented,
94-
"xml": oas_validators.not_implemented,
95-
"externalDocs": oas_validators.not_implemented,
96-
"example": oas_validators.not_implemented,
93+
"discriminator": oas_keywords.not_implemented,
94+
"xml": oas_keywords.not_implemented,
95+
"externalDocs": oas_keywords.not_implemented,
96+
"example": oas_keywords.not_implemented,
9797
},
9898
type_checker=oas31_type_checker,
9999
format_checker=oas_format.oas31_format_checker,

poetry.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ include = [
5555

5656
[tool.poetry.dependencies]
5757
python = "^3.8.0"
58-
jsonschema = "^4.18.0"
58+
jsonschema = "^4.19.1"
5959
rfc3339-validator = "*" # requred by jsonschema for date-time checker
6060
jsonschema-specifications = "^2023.5.2"
6161

0 commit comments

Comments
 (0)