# Generated by Django 4.2.6 on 2023-10-30 13:16 import os import sys import shutil import ram.utils import bookshelf.models from django.db import migrations, models from django.conf import settings def move_images(apps, schema_editor): sys.stdout.write("\n Processing files. Please await...") for r in bookshelf.models.BaseBookImage.objects.all(): fname = os.path.basename(r.image.path) new_image = bookshelf.models.book_image_upload(r, fname) new_path = os.path.join(settings.MEDIA_ROOT, new_image) os.makedirs(os.path.dirname(new_path), exist_ok=True) try: shutil.move(r.image.path, new_path) except FileNotFoundError: sys.stderr.write(" !! FileNotFoundError: {}\n".format(new_image)) pass r.image.name = new_image r.save() class Migration(migrations.Migration): dependencies = [ ("bookshelf", "0008_alter_author_options_alter_publisher_options"), ] operations = [ migrations.AlterField( model_name="bookimage", name="image", field=models.ImageField( blank=True, null=True, storage=ram.utils.DeduplicatedStorage, upload_to=bookshelf.models.book_image_upload, ), ), migrations.RunPython( move_images, reverse_code=migrations.RunPython.noop ), ]