diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py index 07299aff4e..55a46da8fe 100644 --- a/src/calibre/ebooks/conversion/plumber.py +++ b/src/calibre/ebooks/conversion/plumber.py @@ -8,7 +8,8 @@ import os, re, sys, shutil, pprint from calibre.customize.conversion import OptionRecommendation, DummyReporter from calibre.customize.ui import input_profiles, output_profiles, \ 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.ptempfile import PersistentTemporaryDirectory from calibre import extract, walk @@ -470,6 +471,14 @@ OptionRecommendation(name='language', self.log('Processing archive...') tdir = PersistentTemporaryDirectory('_plumber') 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): output_fmt = 'oeb' @@ -842,6 +851,8 @@ OptionRecommendation(name='language', self.output_plugin.convert(self.oeb, self.output, self.input_plugin, self.opts, self.log) 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.flush() diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index ab32b313eb..3be8f85e45 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -12,7 +12,6 @@ from urllib import unquote from urlparse import urlparse from math import ceil, floor from functools import partial -from calibre.customize.ui import run_plugins_on_postprocess try: 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.abspath(os.path.expanduser(oname)) conv.writeto(oname, lrs=options.lrs) - run_plugins_on_postprocess(oname, 'lrf') conv.cleanup() return oname