-import six.moves
+# This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
+#
+import io
+import urllib.parse
+import urllib.request
from PIL import Image
from ..base import WLElement
class Ilustr(WLElement):
+ SHOULD_HAVE_ID = True
+
EPUB_TAG = HTML_TAG = 'img'
def get_html_attr(self, builder):
## TODO: thumbnail.
- url = six.moves.urllib.parse.urljoin(
+ url = urllib.parse.urljoin(
builder.base_url,
self.get('src')
)
- imgfile = six.moves.urllib.request.urlopen(url)
+ imgfile = urllib.request.urlopen(url)
img = Image.open(imgfile)
th_format, ext, media_type = {
'GIF': ('GIF', 'gif', 'image/gif'),
else:
th = img.resize((width, round(width * img.size[1] / img.size[0])))
- buffer = six.BytesIO()
+ buffer = io.BytesIO()
th.save(buffer, format=th_format)
imgfile.close()
file_name = 'image%d.%s' % (
return {
'src': file_name,
- 'alt': self.attrib['alt'],
- 'title': self.attrib['alt'],
+ 'alt': self.attrib.get('alt', ''),
+ 'title': self.attrib.get('alt', ''),
}
get_epub_attr = get_html_attr