From 7fbe1b98f4818c9f004cb193e1271d6839085e66 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 30 Sep 2007 17:55:00 +0000 Subject: [PATCH] Fix reading of metadata from pdflrf generated LRF files. --- src/libprs500/ebooks/lrf/meta.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libprs500/ebooks/lrf/meta.py b/src/libprs500/ebooks/lrf/meta.py index f838546419..cbaa157df1 100644 --- a/src/libprs500/ebooks/lrf/meta.py +++ b/src/libprs500/ebooks/lrf/meta.py @@ -24,7 +24,7 @@ to get and set meta information. For example: >>> lrf.category = "History" """ -import struct, zlib, sys +import struct, zlib, sys, re from shutil import copyfileobj from cStringIO import StringIO import xml.dom.minidom as dom @@ -392,6 +392,8 @@ class LRFMetaFile(object): # encoded metadata block. # Decoding using latin1 is the most useful for me since I # occassionally read french books. + # pdflrf creates invalif metadata blocks + candidate = re.compile(u'.*', re.DOTALL).sub(u'', candidate) if not u"Info" in candidate: candidate = unicode(src, 'latin1', errors='ignore') if candidate[-1:] == '\0':