From b3af0799f98ef2cee0dd7f83a03c2f1e81472ba4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 30 Apr 2013 18:10:50 +0530 Subject: [PATCH] PDF Output: Ignore links whose page refs cannot be found, instead of erroring out --- src/calibre/ebooks/pdf/render/links.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/pdf/render/links.py b/src/calibre/ebooks/pdf/render/links.py index a484c1a7d7..2d0b91bbfe 100644 --- a/src/calibre/ebooks/pdf/render/links.py +++ b/src/calibre/ebooks/pdf/render/links.py @@ -44,7 +44,11 @@ class Links(object): for link in links: href, page, rect = link p, frag = href.partition('#')[0::2] - link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + try: + link = ((path, p, frag or None), self.pdf.get_pageref(page).obj, Array(rect)) + except IndexError: + self.log.warn('Unable to find page for link: %r, ignoring it' % link) + continue self.links.append(link) def add_links(self):