stupid bug in epub
[librarian.git] / librarian / formats / cover / evens / __init__.py
index e470001..35ef84a 100644 (file)
@@ -19,9 +19,17 @@ class EvensCover(Cover):
     logo_bottom = 100
 
     def set_images(self, ctx):
-        cover_url = self.doc.meta.get(DCNS('relation.coverimage.url'))[0]
+        try:
+            cover_url = self.doc.meta.get(DCNS('relation.coverimage.url'))[0]
+        except IndexError:
+            raise BuildError('No cover specified (metadata field relation.coverimage.url missing)')
+        if not cover_url:
+            raise BuildError('No cover specified (metadata field relation.coverimage.url empty)')
         if cover_url.startswith('file://'):
             cover_url = ctx.files_path + urllib.quote(cover_url[7:])
+        IMG_EXT = ('png', 'jpg', 'jpeg')
+        if '.' not in self.background_img or self.background_img.rsplit('.')[1].lower() not in IMG_EXT:
+            raise BuildError('Wrong cover format, should be PNG or JPG')
         try:
             self.background_img = urlopen(cover_url)
         except URLError: