|
27 | 27 | urlsplit,
|
28 | 28 | )
|
29 | 29 |
|
| 30 | +from jsonschema._format import ( |
| 31 | + draft6_format_checker, |
| 32 | + draft7_format_checker, |
| 33 | +) |
| 34 | + |
30 | 35 | # Sigh. https://gitlab.com/pycqa/flake8/issues/280
|
31 | 36 | # https://github.com/pyga/ebb-lint/issues/7
|
32 | 37 | # Imported for backwards compatibility.
|
@@ -158,6 +163,7 @@ def create(
|
158 | 163 | default_types=None,
|
159 | 164 | type_checker=None,
|
160 | 165 | id_of=_id_of,
|
| 166 | + format_checker=None |
161 | 167 | ):
|
162 | 168 | """
|
163 | 169 | Create a new validator class.
|
@@ -284,8 +290,9 @@ def __init__(
|
284 | 290 | self.schema = schema
|
285 | 291 |
|
286 | 292 | @classmethod
|
287 |
| - def check_schema(cls, schema): |
288 |
| - for error in cls(cls.META_SCHEMA).iter_errors(schema): |
| 293 | + def check_schema(cls, schema, format_checker=format_checker): |
| 294 | + validator = cls(cls.META_SCHEMA, format_checker=format_checker) |
| 295 | + for error in validator.iter_errors(schema): |
289 | 296 | raise exceptions.SchemaError.create_from(error)
|
290 | 297 |
|
291 | 298 | def iter_errors(self, instance, _schema=None):
|
@@ -465,6 +472,7 @@ def extend(validator, validators=(), version=None, type_checker=None):
|
465 | 472 | type_checker=_types.draft3_type_checker,
|
466 | 473 | version="draft3",
|
467 | 474 | id_of=lambda schema: schema.get(u"id", ""),
|
| 475 | + format_checker=None, |
468 | 476 | )
|
469 | 477 |
|
470 | 478 | Draft4Validator = create(
|
@@ -500,6 +508,7 @@ def extend(validator, validators=(), version=None, type_checker=None):
|
500 | 508 | type_checker=_types.draft4_type_checker,
|
501 | 509 | version="draft4",
|
502 | 510 | id_of=lambda schema: schema.get(u"id", ""),
|
| 511 | + format_checker=None, |
503 | 512 | )
|
504 | 513 |
|
505 | 514 | Draft6Validator = create(
|
@@ -539,6 +548,7 @@ def extend(validator, validators=(), version=None, type_checker=None):
|
539 | 548 | },
|
540 | 549 | type_checker=_types.draft6_type_checker,
|
541 | 550 | version="draft6",
|
| 551 | + format_checker=draft6_format_checker, |
542 | 552 | )
|
543 | 553 |
|
544 | 554 | Draft7Validator = create(
|
@@ -579,6 +589,7 @@ def extend(validator, validators=(), version=None, type_checker=None):
|
579 | 589 | },
|
580 | 590 | type_checker=_types.draft7_type_checker,
|
581 | 591 | version="draft7",
|
| 592 | + format_checker=draft7_format_checker, |
582 | 593 | )
|
583 | 594 |
|
584 | 595 | _LATEST_VERSION = Draft7Validator
|
|
0 commit comments