From 05b8fcb0a721e8993f5c2697b35ad5ae88f4f8e5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 13 Jan 2009 14:12:41 -0800 Subject: [PATCH] Fix #1590 (Title of book not read correctly for DRMed PRC files) --- src/calibre/ebooks/mobi/reader.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index ebdceda002..31b9ef99b3 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -52,7 +52,13 @@ class EXTHHeader(object): # print 'unknown record', id, repr(content) title = re.search(r'\0+([^\0]+)\0+', raw[pos:]) if title: - self.mi.title = title.group(1).decode(codec, 'ignore') + title = title.group(1).decode(codec, 'replace') + if len(title) > 2: + self.mi.title = title + else: + title = re.search(r'\0+([^\0]+)\0+', ''.join(reversed(raw[pos:]))) + if title: + self.mi.title = ''.join(reversed(title.group(1).decode(codec, 'replace'))) def process_metadata(self, id, content, codec):