X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..a87d0e99a355a5f36d7704b5cf1dc2d3f814b910:/src/catalogue/management/commands/checkintegrity.py diff --git a/src/catalogue/management/commands/checkintegrity.py b/src/catalogue/management/commands/checkintegrity.py index 6ae2b9a2f..6d8a9559a 100644 --- a/src/catalogue/management/commands/checkintegrity.py +++ b/src/catalogue/management/commands/checkintegrity.py @@ -6,14 +6,15 @@ from optparse import make_option from django.core.management.base import BaseCommand from catalogue.models import Book +from librarian import ParseError class Command(BaseCommand): option_list = BaseCommand.option_list + ( make_option('-q', '--quiet', action='store_false', dest='verbose', default=True, - help='Suppress output'), + help='Suppress output'), make_option('-d', '--dry-run', action='store_true', dest='dry_run', default=False, - help="Just check for problems, don't fix them"), + help="Just check for problems, don't fix them"), ) help = 'Checks integrity of catalogue data.' @@ -22,11 +23,11 @@ class Command(BaseCommand): verbose = options['verbose'] - with transaction.commit_on_success(): + with transaction.atomic(): for book in Book.objects.all().iterator(): try: info = book.wldocument().book_info - except: + except ParseError: if verbose: print "ERROR! Bad XML for book:", book.slug print "To resolve: republish."