From 7f97d458dbede2defaf13634e23573be9fdc82e4 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Tue, 3 Feb 2009 22:58:55 -0500 Subject: [PATCH] Further improve logic for inserting Mobi filepos anchors. --- src/calibre/ebooks/mobi/reader.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 2de7ee97d4..760f9407cb 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -434,16 +434,15 @@ class MobiReader(object): oend = end l = self.mobi_html.find('<', end) r = self.mobi_html.find('>', end) - p = self.mobi_html.rfind('>', end) + anchor = '' if r > -1 and (r < l or l == end or l == -1): - end = r - anchor = ' filepos-id="filepos%d"' % oend - elif p > pos: - end = p - anchor = ' filepos-id="filepos%d"' % oend - else: - anchor = '' % oend - self.processed_html += self.mobi_html[pos:end] + anchor + p = self.mobi_html.rfind('<', 0, end + 1) + if p > -1 and self.mobi_html[p + 1] != '/': + anchor = ' filepos-id="filepos%d"' + end = r + else: + end = r + 1 + self.processed_html += self.mobi_html[pos:end] + (anchor % oend) pos = end self.processed_html += self.mobi_html[pos:]