From ce468602a0df6df4ba1e4118153fba8fb7d28cba Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Sep 2008 10:19:45 -0700 Subject: [PATCH] Fix #1043 (Conversion Error: LIT to LRF) --- src/calibre/ebooks/lrf/html/convert_from.py | 6 +++--- src/calibre/ebooks/lrf/pylrs/pylrf.py | 1 - src/calibre/gui2/library.py | 5 ++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index 9ff749db0c..73a9a55694 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -778,11 +778,11 @@ class HTMLConverter(object, LoggingInterface): @param css: A dict ''' src = tag.string if hasattr(tag, 'string') else tag - if len(src) > 32767: + if len(src) > 32760: pos = 0 while pos < len(src): - self.add_text(src[pos:pos+32767], css, pseudo_css, force_span_use) - pos += 32767 + self.add_text(src[pos:pos+32760], css, pseudo_css, force_span_use) + pos += 32760 return src = src.replace('\r\n', '\n').replace('\r', '\n') diff --git a/src/calibre/ebooks/lrf/pylrs/pylrf.py b/src/calibre/ebooks/lrf/pylrs/pylrf.py index d0dbd4a609..02c575d0b0 100644 --- a/src/calibre/ebooks/lrf/pylrs/pylrf.py +++ b/src/calibre/ebooks/lrf/pylrs/pylrf.py @@ -118,7 +118,6 @@ def writeLineWidth(f, width): def writeUnicode(f, string, encoding): if isinstance(string, str): string = string.decode(encoding) - string = string.encode("utf-16-le") length = len(string) if length > 65535: diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index 525fd2aaa1..b21f27bad9 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -258,7 +258,10 @@ class BooksModel(QAbstractTableModel): for i in range(1, k): ids.extend([idx-i, idx+i]) ids = ids + [i for i in range(l, r, 1) if i not in ids] - ids = [self.db.id(i) for i in ids] + try: + ids = [self.db.id(i) for i in ids] + except IndexError: + return self.cover_cache.set_cache(ids) def current_changed(self, current, previous, emit_signal=True):