From e995160f2880aeda5d979ce1b026aabf3b6cba07 Mon Sep 17 00:00:00 2001 From: John Schember Date: Fri, 7 May 2010 22:41:08 -0400 Subject: [PATCH] Fix bug #5441: PDB created in Dropbook not convertable by Calibre. --- src/calibre/ebooks/metadata/ereader.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/metadata/ereader.py b/src/calibre/ebooks/metadata/ereader.py index 036baff2aa..dd8b97b46f 100644 --- a/src/calibre/ebooks/metadata/ereader.py +++ b/src/calibre/ebooks/metadata/ereader.py @@ -8,6 +8,7 @@ __license__ = 'GPL v3' __copyright__ = '2009, John Schember ' __docformat__ = 'restructuredtext en' +import re import struct from calibre.ebooks.metadata import MetaInformation @@ -44,12 +45,12 @@ def get_metadata(stream, extract_cover=True): if hr.compression in (2, 10) and hr.has_metadata == 1: try: mdata = pheader.section_data(hr.metadata_offset) - + mdata = mdata.split('\x00') - mi.title = mdata[0] - mi.authors = [mdata[1]] - mi.publisher = mdata[3] - mi.isbn = mdata[4] + mi.title = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[0]) + mi.authors = [re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[1])] + mi.publisher = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[3]) + mi.isbn = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[4]) except: pass