fnp
/
librarian.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smaller image for tests
[librarian.git]
/
librarian
/
cover.py
diff --git
a/librarian/cover.py
b/librarian/cover.py
index
23603d6
..
02d76f9
100644
(file)
--- 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.
#
# 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
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."""
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)
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."""
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)
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',
}
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
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
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:
self.background_img = StringIO(bg_src.read())
bg_src.close()
else: