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: