X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/3f24ff6b4246a5206555952f6e6c53f6ed5231d8..aeb2a02ce8d5bc789e8e23f5859c7e96afa6da0b:/librarian/formats/cover/evens/__init__.py diff --git a/librarian/formats/cover/evens/__init__.py b/librarian/formats/cover/evens/__init__.py index e470001..35ef84a 100644 --- a/librarian/formats/cover/evens/__init__.py +++ b/librarian/formats/cover/evens/__init__.py @@ -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: