def __init__(self, instance_or_queryset,<EOL>rendition_key_set, image_attr, verbose=False):
if isinstance(instance_or_queryset, Model):<EOL><INDENT>queryset = instance_or_queryset.__class__._default_manager.filter(<EOL>pk=instance_or_queryset.pk<EOL>)<EOL><DEDENT>elif isinstance(instance_or_queryset, QuerySet):<EOL><INDENT>queryset = instance_or_queryset<EOL><DEDENT>else:<EOL><INDENT>raise ValueError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT:{}>".format(self.__class__.__name__)<EOL>)<EOL><DEDENT>self.queryset = queryset<EOL>if isinstance(rendition_key_set, six.string_types):<EOL><INDENT>rendition_key_set = get_rendition_key_set(rendition_key_set)<EOL><DEDENT>self.size_key_list = [<EOL>size_key<EOL>for key, size_key in validate_versatileimagefield_sizekey_list(<EOL>rendition_key_set<EOL>)<EOL>]<EOL>self.image_attr = image_attr<EOL>self.verbose = verbose<EOL>
Arguments:
`instance_or_queryset`: A django model instance or QuerySet
`rendition_key_set`: Either a string that corresponds to a key on
                settings.VERSATILEIMAGEFIELD_RENDITION_KEY_SETS
                or an iterable
                of 2-tuples, both strings:
    [0]: The 'name' of the image size.
    [1]: A VersatileImageField 'size_key'.
    Example: [
        ('large', 'url'),
        ('medium', 'crop__400x400'),
        ('small', 'thumbnail__100x100')
    ]
`image_attr`: A dot-notated path to a VersatileImageField on
              `instance_or_queryset`
`verbose`: bool signifying whether a progress bar should be printed
           to sys.stdout