From 85df3fb0e6d1fc3e6b21ed163d0b0d081a38043f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 7 Dec 2009 15:11:05 -0700 Subject: [PATCH] MOBI Output: Fix handling of links with URL unsafe characters. Fixes #4091 (convert from HTML to mobipocket, hyperlink do not work anymore) --- src/calibre/ebooks/mobi/writer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index 716df5c635..a21799cff6 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -243,7 +243,7 @@ class Serializer(object): buffer = self.buffer if not item.linear: self.breaks.append(buffer.tell() - 1) - self.id_offsets[item.href] = buffer.tell() + self.id_offsets[urlnormalize(item.href)] = buffer.tell() # Kindle periodical articles are contained in a
tag buffer.write('
') for elem in item.data.find(XHTML('body')): @@ -265,7 +265,7 @@ class Serializer(object): if id is not None: href = '#'.join((item.href, id)) offset = self.anchor_offset or buffer.tell() - self.id_offsets[href] = offset + self.id_offsets[urlnormalize(href)] = offset if self.anchor_offset is not None and \ tag == 'a' and not elem.attrib and \ not len(elem) and not elem.text: