X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/3ca475c8e10c811633dec531772e18da6e5fa33d..c46844cb5a794566d15437b0c4a809e9230baecf:/src/documents/models/book.py diff --git a/src/documents/models/book.py b/src/documents/models/book.py index bede8d09..9c120856 100644 --- a/src/documents/models/book.py +++ b/src/documents/models/book.py @@ -23,6 +23,7 @@ from io import BytesIO import os import shutil import re +from urllib.parse import urljoin class Book(models.Model): @@ -378,7 +379,7 @@ class Book(models.Model): except: pass else: - if info.cover_source == image.get_full_url(): + if info.cover_source.rstrip('/') == image.get_full_url().rstrip('/'): update['dc_cover_image'] = image update['dc'] = info.to_dict() Book.objects.filter(pk=self.pk).update(**update) @@ -399,7 +400,11 @@ class Book(models.Model): try: xml = self.materialize(publishable=True).encode('utf-8') info = BookInfo.from_bytes(xml) - cover = make_cover(info, width=width, height=height) + kwargs = {} + if self.project is not None: + if self.project.logo_mono or self.project.logo: + kwargs['cover_logo'] = (self.project.logo_mono or self.project.logo).path + cover = make_cover(info, width=width, height=height, **kwargs) out = BytesIO() ext = cover.ext() cover.save(out) @@ -464,6 +469,19 @@ class Book(models.Model): if not fake: book_xml = self.materialize(changes=changes) data = {"book_xml": book_xml, "days": days, "hidden": hidden} + if self.project is not None: + if self.project.logo: + data['logo'] = urljoin( + 'https://' + Site.objects.get_current().domain, + self.project.logo.url, + ) + if self.project.logo_mono: + data['logo_mono'] = urljoin( + 'https://' + Site.objects.get_current().domain, + self.project.logo_mono.url, + ) + if self.project.logo_alt: + data['logo_alt'] = self.project.logo_alt if host: data['gallery_url'] = host + self.gallery_url() apiclient.api_call(user, "books/", data, beta=beta)