OXIESEC PANEL
- Current Dir:
/
/
snap
/
core20
/
2582
/
usr
/
lib
/
python3
/
dist-packages
/
jsonschema
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
__init__.py
934 bytes
11/18/2019 12:36:14 PM
rw-r--r--
📄
__main__.py
39 bytes
11/18/2019 12:36:14 PM
rw-r--r--
📁
__pycache__
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
_format.py
11.42 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
_legacy_validators.py
4.48 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
_reflect.py
4.91 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
_types.py
4.38 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
_utils.py
5.05 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
_validators.py
11.43 KB
11/18/2019 12:36:14 PM
rw-r--r--
📁
benchmarks
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
cli.py
2.26 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
compat.py
1.32 KB
11/18/2019 12:36:14 PM
rw-r--r--
📄
exceptions.py
10.21 KB
11/18/2019 12:36:14 PM
rw-r--r--
📁
schemas
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📁
tests
-
04/29/2025 04:07:53 PM
rwxr-xr-x
📄
validators.py
28.71 KB
11/18/2019 12:36:14 PM
rw-r--r--
Editing: _legacy_validators.py
Close
from jsonschema import _utils from jsonschema.compat import iteritems from jsonschema.exceptions import ValidationError def dependencies_draft3(validator, dependencies, instance, schema): if not validator.is_type(instance, "object"): return for property, dependency in iteritems(dependencies): if property not in instance: continue if validator.is_type(dependency, "object"): for error in validator.descend( instance, dependency, schema_path=property, ): yield error elif validator.is_type(dependency, "string"): if dependency not in instance: yield ValidationError( "%r is a dependency of %r" % (dependency, property) ) else: for each in dependency: if each not in instance: message = "%r is a dependency of %r" yield ValidationError(message % (each, property)) def disallow_draft3(validator, disallow, instance, schema): for disallowed in _utils.ensure_list(disallow): if validator.is_valid(instance, {"type": [disallowed]}): yield ValidationError( "%r is disallowed for %r" % (disallowed, instance) ) def extends_draft3(validator, extends, instance, schema): if validator.is_type(extends, "object"): for error in validator.descend(instance, extends): yield error return for index, subschema in enumerate(extends): for error in validator.descend(instance, subschema, schema_path=index): yield error def items_draft3_draft4(validator, items, instance, schema): if not validator.is_type(instance, "array"): return if validator.is_type(items, "object"): for index, item in enumerate(instance): for error in validator.descend(item, items, path=index): yield error else: for (index, item), subschema in zip(enumerate(instance), items): for error in validator.descend( item, subschema, path=index, schema_path=index, ): yield error def minimum_draft3_draft4(validator, minimum, instance, schema): if not validator.is_type(instance, "number"): return if schema.get("exclusiveMinimum", False): failed = instance <= minimum cmp = "less than or equal to" else: failed = instance < minimum cmp = "less than" if failed: yield ValidationError( "%r is %s the minimum of %r" % (instance, cmp, minimum) ) def maximum_draft3_draft4(validator, maximum, instance, schema): if not validator.is_type(instance, "number"): return if schema.get("exclusiveMaximum", False): failed = instance >= maximum cmp = "greater than or equal to" else: failed = instance > maximum cmp = "greater than" if failed: yield ValidationError( "%r is %s the maximum of %r" % (instance, cmp, maximum) ) def properties_draft3(validator, properties, instance, schema): if not validator.is_type(instance, "object"): return for property, subschema in iteritems(properties): if property in instance: for error in validator.descend( instance[property], subschema, path=property, schema_path=property, ): yield error elif subschema.get("required", False): error = ValidationError("%r is a required property" % property) error._set( validator="required", validator_value=subschema["required"], instance=instance, schema=schema, ) error.path.appendleft(property) error.schema_path.extend([property, "required"]) yield error def type_draft3(validator, types, instance, schema): types = _utils.ensure_list(types) all_errors = [] for index, type in enumerate(types): if validator.is_type(type, "object"): errors = list(validator.descend(instance, type, schema_path=index)) if not errors: return all_errors.extend(errors) else: if validator.is_type(instance, type): return else: yield ValidationError( _utils.types_msg(instance, types), context=all_errors, )