py3: Port the catalog generation GUI

This commit is contained in:
Kovid Goyal 2019-05-21 19:00:02 +05:30
parent 2952e47fa4
commit 031756c4bc
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 16 additions and 17 deletions

View File

@ -14,7 +14,7 @@ from calibre.gui2.tools import generate_catalog
from calibre.utils.config import dynamic from calibre.utils.config import dynamic
from calibre.gui2.actions import InterfaceAction from calibre.gui2.actions import InterfaceAction
from calibre import sanitize_file_name from calibre import sanitize_file_name
from polyglot.builtins import range from polyglot.builtins import range, map
class GenerateCatalogAction(InterfaceAction): class GenerateCatalogAction(InterfaceAction):
@ -36,7 +36,7 @@ class GenerateCatalogAction(InterfaceAction):
rows = self.gui.library_view.selectionModel().selectedRows() rows = self.gui.library_view.selectionModel().selectedRows()
if not rows or len(rows) < 2: if not rows or len(rows) < 2:
rows = range(self.gui.library_view.model().rowCount(QModelIndex())) rows = range(self.gui.library_view.model().rowCount(QModelIndex()))
ids = map(self.gui.library_view.model().id, rows) ids = list(map(self.gui.library_view.model().id, rows))
if not ids: if not ids:
return error_dialog(self.gui, _('No books selected'), return error_dialog(self.gui, _('No books selected'),

View File

@ -1,6 +1,5 @@
#!/usr/bin/env python2 #!/usr/bin/env python2
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
from __future__ import with_statement
from __future__ import print_function from __future__ import print_function
__license__ = 'GPL v3' __license__ = 'GPL v3'
@ -16,7 +15,7 @@ from calibre.gui2 import gprefs, open_url, question_dialog, error_dialog
from calibre.utils.config import JSONConfig from calibre.utils.config import JSONConfig
from calibre.utils.icu import sort_key from calibre.utils.icu import sort_key
from calibre.utils.localization import localize_user_manual_link from calibre.utils.localization import localize_user_manual_link
from polyglot.builtins import unicode_type from polyglot.builtins import unicode_type, zip, range
from .catalog_epub_mobi_ui import Ui_Form from .catalog_epub_mobi_ui import Ui_Form
from PyQt5.Qt import (Qt, QAbstractItemView, QCheckBox, QComboBox, from PyQt5.Qt import (Qt, QAbstractItemView, QCheckBox, QComboBox,
@ -74,36 +73,36 @@ class PluginWidget(QWidget,Ui_Form):
elif type(self.__dict__[item]) is QTextEdit: elif type(self.__dict__[item]) is QTextEdit:
TextEditControls.append(self.__dict__[item].objectName()) TextEditControls.append(self.__dict__[item].objectName())
option_fields = zip(CheckBoxControls, option_fields = list(zip(CheckBoxControls,
[True for i in CheckBoxControls], [True for i in CheckBoxControls],
['check_box' for i in CheckBoxControls]) ['check_box' for i in CheckBoxControls]))
option_fields += zip(ComboBoxControls, option_fields += list(zip(ComboBoxControls,
[None for i in ComboBoxControls], [None for i in ComboBoxControls],
['combo_box' for i in ComboBoxControls]) ['combo_box' for i in ComboBoxControls]))
option_fields += zip(RadioButtonControls, option_fields += list(zip(RadioButtonControls,
[None for i in RadioButtonControls], [None for i in RadioButtonControls],
['radio_button' for i in RadioButtonControls]) ['radio_button' for i in RadioButtonControls]))
# LineEditControls # LineEditControls
option_fields += zip(['exclude_genre'],[r'\[.+\]|^\+$'],['line_edit']) option_fields += list(zip(['exclude_genre'],[r'\[.+\]|^\+$'],['line_edit']))
# TextEditControls # TextEditControls
# option_fields += zip(['exclude_genre_results'],['excluded genres will appear here'],['text_edit']) # option_fields += list(zip(['exclude_genre_results'],['excluded genres will appear here'],['text_edit']))
# SpinBoxControls # SpinBoxControls
option_fields += zip(['thumb_width'],[1.00],['spin_box']) option_fields += list(zip(['thumb_width'],[1.00],['spin_box']))
# Exclusion rules # Exclusion rules
option_fields += zip(['exclusion_rules_tw'], option_fields += list(zip(['exclusion_rules_tw'],
[{'ordinal':0, [{'ordinal':0,
'enabled':True, 'enabled':True,
'name':_('Catalogs'), 'name':_('Catalogs'),
'field':_('Tags'), 'field':_('Tags'),
'pattern':'Catalog'},], 'pattern':'Catalog'},],
['table_widget']) ['table_widget']))
# Prefix rules # Prefix rules
option_fields += zip(['prefix_rules_tw','prefix_rules_tw'], option_fields += list(zip(['prefix_rules_tw','prefix_rules_tw'],
[{'ordinal':0, [{'ordinal':0,
'enabled':True, 'enabled':True,
'name':_('Read book'), 'name':_('Read book'),
@ -116,7 +115,7 @@ class PluginWidget(QWidget,Ui_Form):
'field':_('Tags'), 'field':_('Tags'),
'pattern':'Wishlist', 'pattern':'Wishlist',
'prefix':u'\u00d7'},], 'prefix':u'\u00d7'},],
['table_widget','table_widget']) ['table_widget','table_widget']))
self.OPTION_FIELDS = option_fields self.OPTION_FIELDS = option_fields