Prefer covers from source file for GUI based conversion.

This commit is contained in:
Kovid Goyal 2007-11-07 23:39:01 +00:00
parent 23cdd84f90
commit 4138bd1e42
4 changed files with 26 additions and 16 deletions

View File

@ -105,6 +105,8 @@ def option_parser(usage):
help='Publisher') help='Publisher')
metadata.add_option('--cover', action='store', dest='cover', default=None, \ metadata.add_option('--cover', action='store', dest='cover', default=None, \
help='Path to file containing image to be used as cover') help='Path to file containing image to be used as cover')
metadata.add_option('--use-metadata-cover', action='store_true', default=False,
help='If there is a cover graphic detected in the source file, use that instead of the specified cover.')
parser.add_option('-o', '--output', action='store', default=None, \ parser.add_option('-o', '--output', action='store', default=None, \
help='Output file name. Default is derived from input filename') help='Output file name. Default is derived from input filename')

View File

@ -1717,7 +1717,9 @@ def try_opf(path, options, logger):
category = opf.category category = opf.category
if category: if category:
options.category = category options.category = category
if not options.cover: if not options.cover or options.use_metadata_cover:
orig_cover = options.cover
options.cover = None
cover = opf.cover cover = opf.cover
if cover: if cover:
if not os.path.isabs(cover): if not os.path.isabs(cover):
@ -1727,8 +1729,6 @@ def try_opf(path, options, logger):
PILImage.open(cover) PILImage.open(cover)
options.cover = cover options.cover = cover
except: except:
pass
if not options.cover:
for prefix in opf.possible_cover_prefixes(): for prefix in opf.possible_cover_prefixes():
if options.cover: if options.cover:
break break
@ -1740,6 +1740,8 @@ def try_opf(path, options, logger):
break break
except: except:
continue continue
if not options.cover and orig_cover is not None:
options.cover = orig_cover
options.spine = [i.href for i in opf.spine.items()] options.spine = [i.href for i in opf.spine.items()]
options.toc = opf.toc options.toc = opf.toc
except Exception: except Exception:

View File

@ -89,8 +89,6 @@ class LRFSingleDialog(QDialog, Ui_LRFSingleDialog):
self.setWindowTitle('Convert %s to LRF'%(self.selected_format,)) self.setWindowTitle('Convert %s to LRF'%(self.selected_format,))
def read_saved_options(self): def read_saved_options(self):
cmdline = self.db.conversion_options(self.id, self.output_format.lower()) cmdline = self.db.conversion_options(self.id, self.output_format.lower())
if cmdline: if cmdline:
@ -207,6 +205,7 @@ class LRFSingleDialog(QDialog, Ui_LRFSingleDialog):
state = Qt.Checked if default else Qt.Unchecked state = Qt.Checked if default else Qt.Unchecked
obj.setCheckState(state) obj.setCheckState(state)
self.gui_headerformat.setDisabled(True) self.gui_headerformat.setDisabled(True)
self.gui_use_metadata_cover.setCheckState(Qt.Checked)
self.preprocess.addItem('No preprocessing') self.preprocess.addItem('No preprocessing')
for opt in self.PREPROCESS_OPTIONS: for opt in self.PREPROCESS_OPTIONS:
self.preprocess.addItem(opt.get_opt_string()[2:]) self.preprocess.addItem(opt.get_opt_string()[2:])

View File

@ -256,6 +256,13 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="2" column="0" >
<widget class="QCheckBox" name="gui_use_metadata_cover" >
<property name="text" >
<string>Use &amp;metadata cover</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>