versatileimagefield/utils.py
def validate_versatileimagefield_sizekey_list(sizes):
    """
    Validate a list of size keys.

    `sizes`: An iterable of 2-tuples, both strings. Example:
    [
        ('large', 'url'),
        ('medium', 'crop__400x400'),
        ('small', 'thumbnail__100x100')
    ]
    """
    try:
        for key, size_key in sizes:
            size_key_split = size_key.split('__')
            if size_key_split[-1] != 'url' and (
                'x' not in size_key_split[-1]
            ):
                raise InvalidSizeKey(
                    "{0} is an invalid size. All sizes must be either "
                    "'url' or made up of at least two segments separated "
                    "by double underscores. Examples: 'crop__400x400', "
                    "filters__invert__url".format(size_key)
                )
    except ValueError:
        raise InvalidSizeKeySet(
            '{} is an invalid size key set. Size key sets must be an '
            'iterable of 2-tuples'.format(str(sizes))
        )
    return list(set(sizes))
def validate_versatileimagefield_sizekey_list(sizes):
    try:
        for key, size_key in sizes:
            size_key_split = size_key.split('__')
            if size_key_split[-1] != 'url' and (
                'x' not in size_key_split[-1]
            ):
                raise InvalidSizeKey(
                    "{0} is an invalid size. All sizes must be either "
                    "'url' or made up of at least two segments separated "
                    "by double underscores. Examples: 'crop__400x400', "
                    "filters__invert__url".format(size_key)
                )
    except ValueError:
        raise InvalidSizeKeySet(
            '{} is an invalid size key set. Size key sets must be an '
            'iterable of 2-tuples'.format(str(sizes))
        )
    return list(set(sizes))
def validate_versatileimagefield_sizekey_list ( sizes ) : try : for key , size_key in sizes : size_key_split = size_key . split ( '__' ) if size_key_split [ - 1 ] != 'url' and ( 'x' not in size_key_split [ - 1 ] ) : raise InvalidSizeKey ( "{0} is an invalid size. All sizes must be either " "'url' or made up of at least two segments separated " "by double underscores. Examples: 'crop__400x400', " "filters__invert__url" . format ( size_key ) ) except ValueError : raise InvalidSizeKeySet ( '{} is an invalid size key set. Size key sets must be an ' 'iterable of 2-tuples' . format ( str ( sizes ) ) ) return list ( set ( sizes ) )
Validate a list of size keys.

    `sizes`: An iterable of 2-tuples, both strings. Example:
    [
        ('large', 'url'),
        ('medium', 'crop__400x400'),
        ('small', 'thumbnail__100x100')
    ]
Validate a list of size keys .