Fix #5441 (PDB created in Dropbook not convertable by Calibre)

This commit is contained in:
Kovid Goyal 2010-05-07 21:22:10 -06:00
commit 8c80d91ae9

View File

@ -8,6 +8,7 @@ __license__ = 'GPL v3'
__copyright__ = '2009, John Schember <john@nachtimwald.com>' __copyright__ = '2009, John Schember <john@nachtimwald.com>'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
import re
import struct import struct
from calibre.ebooks.metadata import MetaInformation 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: if hr.compression in (2, 10) and hr.has_metadata == 1:
try: try:
mdata = pheader.section_data(hr.metadata_offset) mdata = pheader.section_data(hr.metadata_offset)
mdata = mdata.split('\x00') mdata = mdata.split('\x00')
mi.title = mdata[0] mi.title = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[0])
mi.authors = [mdata[1]] mi.authors = [re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[1])]
mi.publisher = mdata[3] mi.publisher = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[3])
mi.isbn = mdata[4] mi.isbn = re.sub(r'[^a-zA-Z0-9 \._=\+\-!\?,\'\"]', '', mdata[4])
except: except:
pass pass