From 5a9ba2939fa63f2e808ddff2170cbbee1b2f2d6d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 11 Oct 2024 15:01:51 +0530 Subject: [PATCH] Fix #2084205 [Private bug](https://bugs.launchpad.net/calibre/+bug/2084205) --- src/calibre/srv/render_book.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/calibre/srv/render_book.py b/src/calibre/srv/render_book.py index 347c866560..48e8532b67 100644 --- a/src/calibre/srv/render_book.py +++ b/src/calibre/srv/render_book.py @@ -510,10 +510,14 @@ def virtualize_html(container, name, link_uid, link_to_map, virtualized_names): href = a.get(attr) or '' if href.startswith(link_uid): a.set(attr, 'javascript:void(0)') - parts = decode_url(href.split('|')[1]) - lname, lfrag = parts[0], parts[1] - link_to_map.setdefault(lname, {}).setdefault(lfrag or '', set()).add(name) - a.set('data-' + link_uid, json.dumps({'name':lname, 'frag':lfrag}, ensure_ascii=False)) + try: + parts = decode_url(href.split('|')[1]) + except IndexError: + pass + else: + lname, lfrag = parts[0], parts[1] + link_to_map.setdefault(lname, {}).setdefault(lfrag or '', set()).add(name) + a.set('data-' + link_uid, json.dumps({'name':lname, 'frag':lfrag}, ensure_ascii=False)) elif href: a.set('target', '_blank') a.set('rel', 'noopener noreferrer')