def warm(self):
num_images_pre_warmed = <NUM_LIT:0><EOL>failed_to_create_image_path_list = []<EOL>total = self.queryset.count() * len(self.size_key_list)<EOL>for a, instance in enumerate(self.queryset, start=<NUM_LIT:1>):<EOL><INDENT>for b, size_key in enumerate(self.size_key_list, start=<NUM_LIT:1>):<EOL><INDENT>success, url_or_filepath = self._prewarm_versatileimagefield(<EOL>size_key,<EOL>reduce(getattr, self.image_attr.split("<STR_LIT:.>"), instance)<EOL>)<EOL>if success is True:<EOL><INDENT>num_images_pre_warmed += <NUM_LIT:1><EOL>if self.verbose:<EOL><INDENT>cli_progress_bar(num_images_pre_warmed, total)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>failed_to_create_image_path_list.append(url_or_filepath)<EOL><DEDENT>if a * b == total:<EOL><INDENT>stdout.write('<STR_LIT:\n>')<EOL><DEDENT><DEDENT><DEDENT>stdout.flush()<EOL>return (num_images_pre_warmed, failed_to_create_image_path_list)<EOL>
Returns a 2-tuple:
[0]: Number of images successfully pre-warmed
[1]: A list of paths on the storage class associated with the
     VersatileImageField field being processed by `self` of
     files that could not be successfully seeded.