X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/6822e24c5a6577fb4142fc079eec15816222de45..f258a9896bbeff2a900d8bafb2aecfce03f19bd8:/apps/catalogue/models.py diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py index f201dc237..5f7eb1712 100644 --- a/apps/catalogue/models.py +++ b/apps/catalogue/models.py @@ -345,7 +345,7 @@ class Book(models.Model): epub_file = StringIO() try: - epub.transform(BookImportDocProvider(self), self.slug, epub_file) + epub.transform(BookImportDocProvider(self), self.slug, output_file=epub_file) self.epub_file.save('%s.epub' % self.slug, ContentFile(epub_file.getvalue()), save=False) self.save() FileRecord(slug=self.slug, type='epub', sha1=sha1(epub_file.getvalue()).hexdigest()).save() @@ -363,7 +363,7 @@ class Book(models.Model): @classmethod - def from_xml_file(cls, xml_file, overwrite=False): + def from_xml_file(cls, xml_file, overwrite=False, build_epub=True): # use librarian to parse meta-data book_info = dcparser.parse(xml_file) @@ -371,12 +371,12 @@ class Book(models.Model): xml_file = File(open(xml_file)) try: - return cls.from_text_and_meta(xml_file, book_info, overwrite) + return cls.from_text_and_meta(xml_file, book_info, overwrite, build_epub=build_epub) finally: xml_file.close() @classmethod - def from_text_and_meta(cls, raw_file, book_info, overwrite=False): + def from_text_and_meta(cls, raw_file, book_info, overwrite=False, build_epub=True): from tempfile import NamedTemporaryFile from slughifi import slughifi from markupstring import MarkupString @@ -480,7 +480,8 @@ class Book(models.Model): new_fragment.save() new_fragment.tags = set(book_tags + themes + [book_tag] + ancestor_tags) - if not book.parent: + if build_epub and not book.parent: + print 'epub' book.build_epub(remove_descendants=False) book_descendants = list(book.children.all())