""" Generate preview images """ import sys from django.core.management.base import BaseCommand from bookwyrm import activitystreams, models, settings, preview_images def generate_preview_images(): """generate preview images""" print(" | Hello! I will be generating preview images for your instance.") print( "šŸ§‘ā€šŸŽØ āŽØ This might take quite long if your instance has a lot of books and users." ) print(" | āœ§ Thank you for your patience āœ§") # Site sys.stdout.write(" ā†’ Site preview image: ") preview_images.generate_site_preview_image_task() sys.stdout.write(" OK šŸ–¼\n") # Users users = models.User.objects.filter( local=True, is_active=True, ) sys.stdout.write(" ā†’ User preview images ({}): ".format(len(users))) for user in users: preview_images.generate_user_preview_image_task(user.id) sys.stdout.write(".") sys.stdout.write(" OK šŸ–¼\n") # Books books = models.Book.objects.select_subclasses().filter() sys.stdout.write(" ā†’ Book preview images ({}): ".format(len(books))) for book in books: preview_images.generate_edition_preview_image_task(book.id) sys.stdout.write(".") sys.stdout.write(" OK šŸ–¼\n") print("šŸ§‘ā€šŸŽØ āŽØ Iā€™m all done! āœ§ Enjoy āœ§") class Command(BaseCommand): help = "Generate preview images" # pylint: disable=no-self-use,unused-argument def handle(self, *args, **options): """run feed builder""" generate_preview_images()