From 7b5cecfc2e451bb78344dfd2cae97c1aae53a108 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 28 Aug 2011 12:27:10 -0400 Subject: [PATCH 1/2] Fixes for PDB-PDF input. --- src/calibre/ebooks/pdb/pdf/reader.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/calibre/ebooks/pdb/pdf/reader.py b/src/calibre/ebooks/pdb/pdf/reader.py index 2a9636b083..0b3c2e09c5 100644 --- a/src/calibre/ebooks/pdb/pdf/reader.py +++ b/src/calibre/ebooks/pdb/pdf/reader.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' from calibre.ebooks.pdb.formatreader import FormatReader -from calibre.ptempfile import TemporaryFile +from calibre.ptempfile import PersistentTemporaryFile class Reader(FormatReader): @@ -23,10 +23,12 @@ class Reader(FormatReader): def extract_content(self, output_dir): self.log.info('Extracting PDF...') - with TemporaryFile() as pdf_n: - pdf = open(pdf_n, 'rwb') - for x in xrange(self.header.section_count()): - pdf.write(self.header.section_data(x)) + pdf = PersistentTemporaryFile('.pdf') + pdf.close() + pdf = open(pdf, 'wb') + for x in xrange(self.header.section_count()): + pdf.write(self.header.section_data(x)) + pdf.close() from calibre.customize.ui import plugin_for_input_format @@ -35,5 +37,4 @@ class Reader(FormatReader): if not hasattr(self.options, opt.option.name): setattr(self.options, opt.option.name, opt.recommended_value) - pdf.seek(0) - return pdf_plugin.convert(pdf, self.options, 'pdf', self.log, {}) + return pdf_plugin.convert(open(pdf, 'rb'), self.options, 'pdf', self.log, {}) From 351825ac65203a0aba4d5b136a51170f222a56dd Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 28 Aug 2011 12:28:54 -0400 Subject: [PATCH 2/2] AZW4 metadata writing. --- src/calibre/customize/builtins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 2f0e269444..70aa7c90fa 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -437,7 +437,7 @@ class LRFMetadataWriter(MetadataWriterPlugin): class MOBIMetadataWriter(MetadataWriterPlugin): name = 'Set MOBI metadata' - file_types = set(['mobi', 'prc', 'azw']) + file_types = set(['mobi', 'prc', 'azw', 'azw4']) description = _('Set metadata in %s files')%'MOBI' author = 'Marshall T. Vandegrift'