Fix framework for running potprocess and preprocess file type plugins

This commit is contained in:
Kovid Goyal 2010-01-07 12:54:15 -07:00
parent 00fca2df1a
commit c1681c59b4
2 changed files with 12 additions and 3 deletions

View File

@ -8,7 +8,8 @@ import os, re, sys, shutil, pprint
from calibre.customize.conversion import OptionRecommendation, DummyReporter from calibre.customize.conversion import OptionRecommendation, DummyReporter
from calibre.customize.ui import input_profiles, output_profiles, \ from calibre.customize.ui import input_profiles, output_profiles, \
plugin_for_input_format, plugin_for_output_format, \ plugin_for_input_format, plugin_for_output_format, \
available_input_formats, available_output_formats available_input_formats, available_output_formats, \
run_plugins_on_preprocess, run_plugins_on_postprocess
from calibre.ebooks.conversion.preprocess import HTMLPreProcessor from calibre.ebooks.conversion.preprocess import HTMLPreProcessor
from calibre.ptempfile import PersistentTemporaryDirectory from calibre.ptempfile import PersistentTemporaryDirectory
from calibre import extract, walk from calibre import extract, walk
@ -470,6 +471,14 @@ OptionRecommendation(name='language',
self.log('Processing archive...') self.log('Processing archive...')
tdir = PersistentTemporaryDirectory('_plumber') tdir = PersistentTemporaryDirectory('_plumber')
self.input, input_fmt = self.unarchive(self.input, tdir) self.input, input_fmt = self.unarchive(self.input, tdir)
if os.access(self.input, os.R_OK):
nfp = run_plugins_on_preprocess(self.input, input_fmt)
if nfp != self.input:
self.input = nfp
input_fmt = os.path.splitext(self.input)[1]
if not input_fmt:
raise ValueError('Input file must have an extension')
input_fmt = input_fmt[1:].lower()
if os.path.exists(self.output) and os.path.isdir(self.output): if os.path.exists(self.output) and os.path.isdir(self.output):
output_fmt = 'oeb' output_fmt = 'oeb'
@ -842,6 +851,8 @@ OptionRecommendation(name='language',
self.output_plugin.convert(self.oeb, self.output, self.input_plugin, self.output_plugin.convert(self.oeb, self.output, self.input_plugin,
self.opts, self.log) self.opts, self.log)
self.ui_reporter(1.) self.ui_reporter(1.)
run_plugins_on_postprocess(self.output, self.output_fmt)
self.log(self.output_fmt.upper(), 'output written to', self.output) self.log(self.output_fmt.upper(), 'output written to', self.output)
self.flush() self.flush()

View File

@ -12,7 +12,6 @@ from urllib import unquote
from urlparse import urlparse from urlparse import urlparse
from math import ceil, floor from math import ceil, floor
from functools import partial from functools import partial
from calibre.customize.ui import run_plugins_on_postprocess
try: try:
from PIL import Image as PILImage from PIL import Image as PILImage
@ -1938,7 +1937,6 @@ def process_file(path, options, logger):
oname = os.path.join(os.getcwd(), name) oname = os.path.join(os.getcwd(), name)
oname = os.path.abspath(os.path.expanduser(oname)) oname = os.path.abspath(os.path.expanduser(oname))
conv.writeto(oname, lrs=options.lrs) conv.writeto(oname, lrs=options.lrs)
run_plugins_on_postprocess(oname, 'lrf')
conv.cleanup() conv.cleanup()
return oname return oname