#
import re
import Image, ImageFont, ImageDraw, ImageFilter
-from librarian import get_resource
+from StringIO import StringIO
+from librarian import get_resource, OutputFile, URLOpener
class TextBox(object):
'PNG': 'image/png',
}
- def __init__(self, book_info):
+ def __init__(self, book_info, format=None):
self.author = ", ".join(auth.readable() for auth in book_info.authors)
self.title = book_info.title
+ if format is not None:
+ self.format = format
def pretty_author(self):
"""Allows for decorating author's name."""
def save(self, *args, **kwargs):
return self.image().save(format=self.format, *args, **kwargs)
+ def output_file(self, *args, **kwargs):
+ imgstr = StringIO()
+ self.save(imgstr, *args, **kwargs)
+ return OutputFile.from_string(imgstr.getvalue())
+
class WLCover(Cover):
"""Default Wolne Lektury cover generator."""
u'Współczesność': '#06393d',
}
- def __init__(self, book_info, image_cache=None):
- super(WLCover, self).__init__(book_info)
+ def __init__(self, book_info, format=None, image_cache=None):
+ super(WLCover, self).__init__(book_info, format=format)
self.kind = book_info.kind
self.epoch = book_info.epoch
if book_info.cover_url:
- from urllib2 import urlopen
- from StringIO import StringIO
-
url = book_info.cover_url
bg_src = None
if image_cache:
from urllib import quote
try:
- bg_src = urlopen(image_cache + quote(url, safe=""))
+ bg_src = URLOpener().open(image_cache + quote(url, safe=""))
except:
pass
if bg_src is None:
- bg_src = urlopen(url)
+ bg_src = URLOpener().open(url)
self.background_img = StringIO(bg_src.read())
bg_src.close()
else: