Modification of single metadata_single.py interface to add columns saying if there is a summary and a cover, add an option to automatically download a cover

This commit is contained in:
Sengian 2010-11-21 20:09:42 +01:00
parent fc524ee7d4
commit 9f34a0c270
4 changed files with 198 additions and 173 deletions

View File

@ -123,6 +123,8 @@ def _config():
help=_('Download social metadata (tags/rating/etc.)'))
c.add_opt('overwrite_author_title_metadata', default=True,
help=_('Overwrite author and title with new metadata'))
c.add_opt('overwrite_cover_image', default=False,
help=_('Overwrite cover with new new cover if existing'))
c.add_opt('enforce_cpu_limit', default=True,
help=_('Limit max simultaneous jobs to number of CPUs'))
c.add_opt('tag_browser_hidden_categories', default=set(),

View File

@ -48,7 +48,7 @@ class Matches(QAbstractTableModel):
return len(self.matches)
def columnCount(self, *args):
return 6
return 8
def headerData(self, section, orientation, role):
if role != Qt.DisplayRole:
@ -61,6 +61,8 @@ class Matches(QAbstractTableModel):
elif section == 3: text = _("Publisher")
elif section == 4: text = _("ISBN")
elif section == 5: text = _("Published")
elif section == 6: text = _("Cover?")
elif section == 7: text = _("Summary?")
return QVariant(text)
else:
@ -87,6 +89,10 @@ class Matches(QAbstractTableModel):
elif col == 5:
if hasattr(book.pubdate, 'timetuple'):
res = strftime('%b %Y', book.pubdate.timetuple())
elif col == 6 and book.has_cover:
res = 'OK'
elif col == 7 and book.comments:
res = 'OK'
if not res:
return NONE
return QVariant(res)
@ -131,6 +137,7 @@ class FetchMetadata(QDialog, Ui_FetchMetadata):
self.fetch_metadata()
self.opt_get_social_metadata.setChecked(config['get_social_metadata'])
self.opt_overwrite_author_title_metadata.setChecked(config['overwrite_author_title_metadata'])
self.opt_overwrite_cover_image.setChecked(config['overwrite_cover_image'])
def show_summary(self, current, *args):
@ -213,6 +220,13 @@ class FetchMetadata(QDialog, Ui_FetchMetadata):
_hung_fetchers.add(self.fetcher)
if hasattr(self, '_hangcheck') and self._hangcheck.isActive():
self._hangcheck.stop()
#option configure
if self.opt_get_social_metadata.isChecked() != config['get_social_metadata']:
config.set('get_social_metadata', self.opt_get_social_metadata.isChecked())
if self.opt_overwrite_author_title_metadata.isChecked() != config['overwrite_author_title_metadata']:
config.set('overwrite_author_title_metadata', self.opt_overwrite_author_title_metadata.isChecked())
if self.opt_overwrite_cover_image.isChecked() != config['overwrite_cover_image']:
config.set('overwrite_cover_image', self.opt_overwrite_cover_image.isChecked())
def __enter__(self, *args):
return self

View File

@ -9,7 +9,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>830</width>
<width>890</width>
<height>642</height>
</rect>
</property>
@ -109,6 +109,13 @@
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="opt_overwrite_author_title_metadata">
<property name="text">
<string>Overwrite author and title with author and title of selected book</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="opt_get_social_metadata">
<property name="text">
@ -117,9 +124,9 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="opt_overwrite_author_title_metadata">
<widget class="QCheckBox" name="opt_overwrite_cover_image">
<property name="text">
<string>Overwrite author and title with author and title of selected book</string>
<string>Overwrite cover image with downloaded cover if available for the selected book</string>
</property>
</widget>
</item>

View File

@ -718,6 +718,8 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
if book.author_sort: self.author_sort.setText(book.author_sort)
if book.publisher: self.publisher.setEditText(book.publisher)
if book.isbn: self.isbn.setText(book.isbn)
if d.opt_overwrite_cover_image.isChecked() and book.has_cover:
self.fetch_cover()
if book.pubdate:
d = book.pubdate
self.pubdate.setDate(QDate(d.year, d.month, d.day))