X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..b9dc6590aa12ae1b04e11dbb57684c5630c1e3bd:/src/catalogue/management/commands/savemedia.py diff --git a/src/catalogue/management/commands/savemedia.py b/src/catalogue/management/commands/savemedia.py index 216c5e335..6196bab42 100755 --- a/src/catalogue/management/commands/savemedia.py +++ b/src/catalogue/management/commands/savemedia.py @@ -5,25 +5,21 @@ import os.path from django.core.management.base import BaseCommand +from django.db import transaction from catalogue.models import Book, BookMedia from catalogue.utils import ExistingFile class Command(BaseCommand): - help = "Saves uploaded media with a given book and a given name. If media has a source SHA1 info - matching media is replaced." + help = "Saves uploaded media with a given book and a given name. " \ + "If media has a source SHA1 info - matching media is replaced." args = 'path slug name' + @transaction.atomic def handle(self, *args, **options): - from django.db import transaction - path, slug, name = args - # Start transaction management. - transaction.commit_unless_managed() - transaction.enter_transaction_management() - transaction.managed(True) - book = Book.objects.get(slug=slug) root, ext = os.path.splitext(path) @@ -45,5 +41,3 @@ class Command(BaseCommand): bm.name = name bm.file.save(None, ExistingFile(path)) bm.save() - transaction.commit() - transaction.leave_transaction_management()