From fb778e5a2d84be857ab248047186522dcc9131bb Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 19 Feb 2016 21:05:25 +0530 Subject: [PATCH] Better error message when user specifies embed font family that does not exist --- src/calibre/ebooks/oeb/transforms/flatcss.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py index 3c42877c1b..0d0ec908b6 100644 --- a/src/calibre/ebooks/oeb/transforms/flatcss.py +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -194,11 +194,18 @@ class CSSFlattener(object): body_font_family = None if not family: return body_font_family, efi - from calibre.utils.fonts.scanner import font_scanner + from calibre.utils.fonts.scanner import font_scanner, NoFonts from calibre.utils.fonts.utils import panose_to_css_generic_family - faces = font_scanner.fonts_for_family(family) + try: + faces = font_scanner.fonts_for_family(family) + except NoFonts: + msg = (u'No embeddable fonts found for family: %r'%family) + if failure_critical: + raise ValueError(msg) + self.oeb.log.warn(msg) + return body_font_family, efi if not faces: - msg = (u'No embeddable fonts found for family: %r'%self.opts.embed_font_family) + msg = (u'No embeddable fonts found for family: %r'%family) if failure_critical: raise ValueError(msg) self.oeb.log.warn(msg)