X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/25af49b6c63e1c005129856e107143864ad5b245..441bdc264f824fc4bd3e2f039eedf8f2828c0fbe:/librarian/formats/cover/evens/__init__.py?ds=inline diff --git a/librarian/formats/cover/evens/__init__.py b/librarian/formats/cover/evens/__init__.py index 4207d46..c1229ad 100644 --- a/librarian/formats/cover/evens/__init__.py +++ b/librarian/formats/cover/evens/__init__.py @@ -18,14 +18,18 @@ class EvensCover(Cover): title_top = 30 logo_bottom = 100 - def __init__(self, doc, format=None, width=None, height=None): - super(EvensCover, self).__init__(doc, format=format, width=width, height=height) - self.doc = doc - 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', 'gif') + if '.' not in cover_url or cover_url.rsplit('.', 1)[1].lower() not in IMG_EXT: + raise BuildError('Wrong cover format, should be PNG, JPG or GIF') try: self.background_img = urlopen(cover_url) except URLError: