mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 05:07:50 +02:00
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
# 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
|
|
),
|
|
]
|