From 6a88e685de494e6bf0d9fbada985e3940636a9c8 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 28 Jun 2009 18:50:16 -0400 Subject: [PATCH] PDB title: include space and ensure \x00 is the last character. --- src/calibre/ebooks/pdb/header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/pdb/header.py b/src/calibre/ebooks/pdb/header.py index c012110a62..75455354c2 100644 --- a/src/calibre/ebooks/pdb/header.py +++ b/src/calibre/ebooks/pdb/header.py @@ -30,7 +30,7 @@ class PdbHeaderReader(object): def name(self): self.stream.seek(0) - return re.sub('[^-A-Za-z0-9]+', '', self.stream.read(32).replace('\x00', '')) + return re.sub('[^-A-Za-z0-9 ]+', '', self.stream.read(32).replace('\x00', '')) def full_section_info(self, number): if number not in range(0, self.num_sections): @@ -66,7 +66,7 @@ class PdbHeaderBuilder(object): def __init__(self, identity, title): self.identity = identity.ljust(3, '\x00')[:8] - self.title = re.sub('[^-A-Za-z0-9]+', '_', title).ljust(32, '\x00')[:32].encode('ascii', 'replace') + self.title = '%s\x00' % re.sub('[^-A-Za-z0-9 ]+', '_', title).ljust(31, '\x00')[:31].encode('ascii', 'replace') def build_header(self, section_lengths, out_stream): '''