X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/9e13b0c994e9d481008bef7006a74609adfd16f8..94a0753b79228b516a994934f5dfbc3a9ce03d6f:/librarian/cover.py diff --git a/librarian/cover.py b/librarian/cover.py index 23603d6..02d76f9 100644 --- a/librarian/cover.py +++ b/librarian/cover.py @@ -3,6 +3,7 @@ # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # +import re import Image, ImageFont, ImageDraw, ImageFilter from librarian import get_resource @@ -36,6 +37,7 @@ class TextBox(object): def text(self, text, color='#000', font=None, line_height=20, shadow_color=None): """Writes some centered text.""" + text = re.sub(r'\s+', ' ', text) if shadow_color: if not self.shadow_img: self.shadow_img = Image.new('RGBA', self.img.size) @@ -181,6 +183,8 @@ class Cover(object): class WLCover(Cover): """Default Wolne Lektury cover generator.""" + width = 600 + height = 833 uses_dc_cover = True author_font = ImageFont.truetype( get_resource('fonts/JunicodeWL-Regular.ttf'), 20) @@ -208,7 +212,7 @@ class WLCover(Cover): u'Współczesność': '#06393d', } - def __init__(self, book_info): + def __init__(self, book_info, image_cache=None): super(WLCover, self).__init__(book_info) self.kind = book_info.kind self.epoch = book_info.epoch @@ -216,7 +220,16 @@ class WLCover(Cover): from urllib2 import urlopen from StringIO import StringIO - bg_src = urlopen(book_info.cover_url) + url = book_info.cover_url + bg_src = None + if image_cache: + from urllib import quote + try: + bg_src = urlopen(image_cache + quote(url, safe="")) + except: + pass + if bg_src is None: + bg_src = urlopen(url) self.background_img = StringIO(bg_src.read()) bg_src.close() else: