X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/f67de73a6cabbef2d84dc79706cbeb4441800860..8132fc186eb0c5fd02c86828c3a4735754296d02:/apps/catalogue/models/book.py diff --git a/apps/catalogue/models/book.py b/apps/catalogue/models/book.py index 7acd8706..1fcd05ac 100755 --- a/apps/catalogue/models/book.py +++ b/apps/catalogue/models/book.py @@ -339,7 +339,7 @@ class Book(models.Model): from librarian.dcparser import BookInfo from librarian import NoDublinCore, ParseError, ValidationError try: - return BookInfo.from_string(book_xml.encode('utf-8')) + return BookInfo.from_bytes(book_xml.encode('utf-8')) except (self.NoTextError, ParseError, NoDublinCore, ValidationError): return None @@ -416,8 +416,8 @@ class Book(models.Model): from catalogue.ebook_utils import RedakcjaDocProvider from librarian.parser import WLDocument - return WLDocument.from_string( - self.materialize(publishable=publishable, changes=changes), + return WLDocument.from_bytes( + self.materialize(publishable=publishable, changes=changes).encode('utf-8'), provider=RedakcjaDocProvider(publishable=publishable), parse_dublincore=parse_dublincore, strict=strict) @@ -434,17 +434,18 @@ class Book(models.Model): if host: data['gallery_url'] = host + self.gallery_url() apiclient.api_call(user, "books/", data, beta=beta) - # record the publish - br = BookPublishRecord.objects.create(book=self, user=user) - for c in changes: - ChunkPublishRecord.objects.create(book_record=br, change=c) - if not self.public and days == 0: - self.public = True - self.save() - if self.public and days > 0: - self.public = False - self.save() - post_publish.send(sender=br) + if not beta: + # record the publish + br = BookPublishRecord.objects.create(book=self, user=user) + for c in changes: + ChunkPublishRecord.objects.create(book_record=br, change=c) + if not self.public and days == 0: + self.public = True + self.save() + if self.public and days > 0: + self.public = False + self.save() + post_publish.send(sender=br) def latex_dir(self): doc = self.wldocument()