diff --git a/src/calibre/ebooks/oeb/iterator.py b/src/calibre/ebooks/oeb/iterator.py index 7912d26e83..3fdd6aaf99 100644 --- a/src/calibre/ebooks/oeb/iterator.py +++ b/src/calibre/ebooks/oeb/iterator.py @@ -166,7 +166,7 @@ class EbookIterator(object): f.truncate() f.write(ncss.encode(enc)) - def __enter__(self, processed=False): + def __enter__(self, processed=False, only_input_plugin=False): self.delete_on_exit = [] self._tdir = TemporaryDirectory('_ebook_iter') self.base = self._tdir.__enter__() @@ -184,12 +184,14 @@ class EbookIterator(object): plumber.opts, plumber.input_fmt, self.log, {}, self.base) - if processed or plumber.input_fmt.lower() in ('pdb', 'pdf', 'rb') and \ - not hasattr(self.pathtoopf, 'manifest'): - if hasattr(self.pathtoopf, 'manifest'): - self.pathtoopf = write_oebbook(self.pathtoopf, self.base) - self.pathtoopf = create_oebbook(self.log, self.pathtoopf, plumber.opts, - plumber.input_plugin) + if not only_input_plugin: + if processed or plumber.input_fmt.lower() in ('pdb', 'pdf', 'rb') and \ + not hasattr(self.pathtoopf, 'manifest'): + if hasattr(self.pathtoopf, 'manifest'): + self.pathtoopf = write_oebbook(self.pathtoopf, self.base) + self.pathtoopf = create_oebbook(self.log, self.pathtoopf, plumber.opts, + plumber.input_plugin) + if hasattr(self.pathtoopf, 'manifest'): self.pathtoopf = write_oebbook(self.pathtoopf, self.base) diff --git a/src/calibre/gui2/convert/regex_builder.py b/src/calibre/gui2/convert/regex_builder.py index 8d00de2fe8..58e1d1ae45 100644 --- a/src/calibre/gui2/convert/regex_builder.py +++ b/src/calibre/gui2/convert/regex_builder.py @@ -85,7 +85,7 @@ class RegexBuilder(QDialog, Ui_RegexBuilder): def open_book(self, pathtoebook): self.iterator = EbookIterator(pathtoebook) - self.iterator.__enter__(processed=True) + self.iterator.__enter__(only_input_plugin=True) text = [u''] for path in self.iterator.spine: html = open(path, 'rb').read().decode('utf-8', 'replace')