X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/7f302cfc1fac98e08e65061111fd1395bb399209..0e5d2336c7c6357e09c9572186cc7b4bb937f102:/apps/catalogue/models.py?ds=sidebyside diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py index 8c83faa53..dd251c16a 100644 --- a/apps/catalogue/models.py +++ b/apps/catalogue/models.py @@ -17,7 +17,7 @@ from newtagging.models import TagBase, tags_updated from newtagging import managers from catalogue.fields import JSONField -from librarian import dcparser, html, epub +from librarian import dcparser, html, epub, NoDublinCore from mutagen import id3 @@ -406,9 +406,12 @@ class Book(models.Model): # Create EPUB epub_file = StringIO() - epub.transform(book.xml_file, epub_file) - book.epub_file.save('%s.epub' % book.slug, ContentFile(epub_file.getvalue()), save=False) - FileRecord(slug=book.slug, type='epub', sha1=sha1(epub_file.getvalue()).hexdigest()).save() + try: + epub.transform(book.xml_file, epub_file) + book.epub_file.save('%s.epub' % book.slug, ContentFile(epub_file.getvalue()), save=False) + FileRecord(slug=book.slug, type='epub', sha1=sha1(epub_file.getvalue()).hexdigest()).save() + except NoDublinCore: + pass # Extract fragments closed_fragments, open_fragments = html.extract_fragments(book.html_file.path)