bit longer author field
[librarian.git] / src / librarian / elements / figures / ilustr.py
index c6105f4..33099f6 100644 (file)
@@ -1,20 +1,27 @@
-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):
 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.
 
     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')
         )
         
             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'),
         img = Image.open(imgfile)
         th_format, ext, media_type = {
             'GIF': ('GIF', 'gif', 'image/gif'),
@@ -27,7 +34,7 @@ class Ilustr(WLElement):
         else:
             th = img.resize((width, round(width * img.size[1] / img.size[0])))
 
         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' % (
         th.save(buffer, format=th_format)
         imgfile.close()
         file_name = 'image%d.%s' % (
@@ -43,8 +50,8 @@ class Ilustr(WLElement):
         
         return {
             'src': file_name,
         
         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
         }
 
     get_epub_attr = get_html_attr