Exemple #1
0
def uniqueItems(validator, uI, instance, schema):
    if (
        uI and
        validator.is_type(instance, "array") and
        not _utils.uniq(instance)
    ):
        yield ValidationError("%r has non-unique elements" % instance)
Exemple #2
0
def uniqueItems(validator, uI, instance, schema):
    if (
                    uI and
                    validator.is_type(instance, "array") and
                not _utils.uniq(instance)
    ):
        yield ValidationError("%r has non-unique elements" % instance)
def uniqueItems(validator, uI, instance, schema):
    if (
        uI and
        validator.is_type(instance, "array") and
        not _utils.uniq(instance)
    ):
        yield ValidationError("tag-msg_dataCheck_key_dup.tagPara :%r, has non-unique elements" % (instance))
Exemple #4
0
def unique_ids(validator, ui, instance, schema, id_name="id"):
    if ui and validator.is_type(instance, "array"):
        non_unique_ids = set()
        all_ids = set()
        for item in instance:
            try:
                item_id = item.get(id_name)
            except AttributeError:
                # if item is not a dict
                item_id = None
            if (item_id and not isinstance(item_id, list)
                    and not isinstance(item_id, dict)):
                if item_id in all_ids:
                    non_unique_ids.add(item_id)
                all_ids.add(item_id)
            else:
                if not uniq(instance):
                    msg = "Array has non-unique elements"
                    err = ValidationError(msg, instance=instance)
                    err.error_id = "uniqueItems_no_ids"
                    yield err
                    return

        for non_unique_id in sorted(non_unique_ids):
            msg = "Non-unique {} values".format(id_name)
            err = ValidationError(msg, instance=non_unique_id)
            err.error_id = "uniqueItems_with_{}".format(id_name)
            yield err
 def validate_uniqueness(self):
     from jsonschema._utils import uniq
     if getattr(self, 'uniqueItems', False) is True:
         if not uniq(self.data):
             raise ValidationError(
                 "{0} has duplicate elements, but uniqueness required".
                 format(self.data))
Exemple #6
0
def uniqueItems(validator, uI, instance, schema):
    if (uI and validator.is_type(instance, "array") and not uniq(instance)):
        yield ValidationError(f"{instance!r} has non-unique elements")