コード例 #1
0
ファイル: json_schema.py プロジェクト: crunk1/connexion
def validate_type(validator, types, instance, schema):
    if instance is None and (schema.get('x-nullable') is True or schema.get('nullable')):
        return

    types = _utils.ensure_list(types)

    if not any(validator.is_type(instance, type) for type in types):
        yield ValidationError(_utils.types_msg(instance, types))
コード例 #2
0
ファイル: _validators.py プロジェクト: AnatolyZimin/designate
def type_draft4(validator, types, instance, schema):
    types = _utils.ensure_list(types)

    # NOTE(kiall): A datetime object is not a string, but is still valid.
    if ('format' in schema and schema['format'] == 'date-time'
            and isinstance(instance, datetime.datetime)):
        return

    if not any(validator.is_type(instance, type) for type in types):
        yield jsonschema.ValidationError(_utils.types_msg(instance, types))
コード例 #3
0
ファイル: schema_mongodb.py プロジェクト: OptimalBPM/of
    def _type_except_objectid(self, validator, types, instance, schema):
        """
        Had to override the internal type checker to avoid it stopping at ObjectId.
        There is no other way for ObjectIds to be set in JSON data except for here.
        """
        types = _utils.ensure_list(types)

        if not any(validator.is_type(instance, _type) for _type in types):
            if not isinstance(instance, ObjectId):
                yield ValidationError(_utils.types_msg(instance, types))
コード例 #4
0
ファイル: _validators.py プロジェクト: gengo/jsonschema
def dependencies(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
        else:
            dependencies = _utils.ensure_list(dependency)
            for dependency in dependencies:
                if dependency not in instance:
                    yield ValidationError("%r is a dependency of %r" % (dependency, property))
コード例 #5
0
ファイル: _legacy_validators.py プロジェクト: wnorales/Python
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,
        )
コード例 #6
0
ファイル: _validators.py プロジェクト: AnatolyZimin/designate
def type_draft3(validator, types, instance, schema):
    types = _utils.ensure_list(types)

    # NOTE(kiall): A datetime object is not a string, but is still valid.
    if ('format' in schema and schema['format'] == 'date-time'
            and isinstance(instance, datetime.datetime)):
        return

    all_errors = []
    for index, type in enumerate(types):
        if type == "any":
            return
        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 jsonschema.ValidationError(
            _utils.types_msg(instance, types), context=all_errors,
        )
コード例 #7
0
ファイル: _validators.py プロジェクト: AydinSakar/jsonschema
def type_draft4(validator, types, instance, schema):
    types = _utils.ensure_list(types)

    if not any(validator.is_type(instance, type) for type in types):
        yield ValidationError(_utils.types_msg(instance, types))
コード例 #8
0
ファイル: _validators.py プロジェクト: AydinSakar/jsonschema
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)
            )