misc fixes from last py3 merge

This commit is contained in:
Kovid Goyal 2019-08-29 16:54:07 +05:30
parent da5b6f898f
commit 9cf6125f19
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
8 changed files with 27 additions and 23 deletions

View File

@ -21,7 +21,7 @@ from calibre.ebooks.conversion.plumber import Plumber
from calibre.ebooks.conversion.config import sort_formats_by_preference, get_output_formats from calibre.ebooks.conversion.config import sort_formats_by_preference, get_output_formats
from calibre.utils.config import prefs from calibre.utils.config import prefs
from calibre.utils.logging import Log from calibre.utils.logging import Log
from polyglot.builtins import unicode_type from polyglot.builtins import unicode_type, native_string_type
class BulkConfig(Config): class BulkConfig(Config):
@ -45,7 +45,7 @@ class BulkConfig(Config):
'values saved in a previous conversion (if they exist) instead ' 'values saved in a previous conversion (if they exist) instead '
'of using the defaults specified in the Preferences')) 'of using the defaults specified in the Preferences'))
self.output_formats.currentIndexChanged[str].connect(self.setup_pipeline) self.output_formats.currentIndexChanged[native_string_type].connect(self.setup_pipeline)
self.groups.setSpacing(5) self.groups.setSpacing(5)
self.groups.activated[(QModelIndex)].connect(self.show_pane) self.groups.activated[(QModelIndex)].connect(self.show_pane)
self.groups.clicked[(QModelIndex)].connect(self.show_pane) self.groups.clicked[(QModelIndex)].connect(self.show_pane)

View File

@ -18,7 +18,7 @@ from calibre.constants import iswindows
from calibre.utils.ipc.simple_worker import fork_job, WorkerError from calibre.utils.ipc.simple_worker import fork_job, WorkerError
from calibre.ebooks.conversion.search_replace import compile_regular_expression from calibre.ebooks.conversion.search_replace import compile_regular_expression
from calibre.ptempfile import TemporaryFile from calibre.ptempfile import TemporaryFile
from polyglot.builtins import unicode_type, range from polyglot.builtins import unicode_type, range, native_string_type
class RegexBuilder(QDialog, Ui_RegexBuilder): class RegexBuilder(QDialog, Ui_RegexBuilder):
@ -42,7 +42,7 @@ class RegexBuilder(QDialog, Ui_RegexBuilder):
self.cancelled = False self.cancelled = False
self.button_box.accepted.connect(self.accept) self.button_box.accepted.connect(self.accept)
self.regex.textChanged[str].connect(self.regex_valid) self.regex.textChanged[native_string_type].connect(self.regex_valid)
for src, slot in (('test', 'do'), ('previous', 'goto'), ('next', for src, slot in (('test', 'do'), ('previous', 'goto'), ('next',
'goto')): 'goto')):
getattr(self, src).clicked.connect(getattr(self, '%s_%s'%(slot, getattr(self, src).clicked.connect(getattr(self, '%s_%s'%(slot,

View File

@ -12,7 +12,7 @@ Module to implement the Cover Flow feature
import sys, os, time import sys, os, time
from PyQt5.Qt import (QImage, QSizePolicy, QTimer, QDialog, Qt, QSize, QAction, from PyQt5.Qt import (QImage, QSizePolicy, QTimer, QDialog, Qt, QSize, QAction,
QStackedLayout, QLabel, QByteArray, pyqtSignal, QKeySequence, QFont) QStackedLayout, QLabel, pyqtSignal, QKeySequence, QFont)
from calibre import plugins from calibre import plugins
from calibre.ebooks.metadata import rating_to_stars from calibre.ebooks.metadata import rating_to_stars
@ -242,9 +242,8 @@ class CBDialog(QDialog):
self.setWindowTitle(_('Browse by covers')) self.setWindowTitle(_('Browse by covers'))
self.layout().addWidget(cover_flow) self.layout().addWidget(cover_flow)
geom = gprefs.get('cover_browser_dialog_geometry', bytearray('')) geom = gprefs.get('cover_browser_dialog_geometry', None)
geom = QByteArray(geom) if not geom or not self.restoreGeometry(geom):
if not self.restoreGeometry(geom):
h, w = available_height()-60, int(available_width()/1.5) h, w = available_height()-60, int(available_width()/1.5)
self.resize(w, h) self.resize(w, h)
self.action_fs_toggle = a = QAction(self) self.action_fs_toggle = a = QAction(self)

View File

@ -22,7 +22,7 @@ class Catalog(QDialog, Ui_Dialog):
''' Catalog Dialog builder''' ''' Catalog Dialog builder'''
def __init__(self, parent, dbspec, ids, db): def __init__(self, parent, dbspec, ids, db):
import re, io import re
from calibre import prints as info from calibre import prints as info
from PyQt5.uic import compileUi from PyQt5.uic import compileUi
@ -67,13 +67,14 @@ class Catalog(QDialog, Ui_Dialog):
# Compile the .ui form provided in plugin.zip # Compile the .ui form provided in plugin.zip
if not os.path.exists(compiled_form): if not os.path.exists(compiled_form):
from polyglot.io import PolyglotStringIO
# info('\tCompiling form', form) # info('\tCompiling form', form)
buf = io.BytesIO() buf = PolyglotStringIO()
compileUi(form, buf) compileUi(form, buf)
dat = buf.getvalue() dat = buf.getvalue()
dat = re.compile(r'QtGui.QApplication.translate\(.+?,\s+"(.+?)(?<!\\)",.+?\)', dat = re.compile(r'QtGui.QApplication.translate\(.+?,\s+"(.+?)(?<!\\)",.+?\)',
re.DOTALL).sub(r'_("\1")', dat) re.DOTALL).sub(r'_("\1")', dat)
open(compiled_form, 'wb').write(dat) open(compiled_form, 'wb').write(dat.encode('utf-8'))
# Import the dynamic PluginWidget() from .py file provided in plugin.zip # Import the dynamic PluginWidget() from .py file provided in plugin.zip
try: try:
@ -181,7 +182,7 @@ class Catalog(QDialog, Ui_Dialog):
When title/format change, invalidate Preset in E-book options tab When title/format change, invalidate Preset in E-book options tab
''' '''
cf = unicode_type(self.format.currentText()).lower() cf = unicode_type(self.format.currentText()).lower()
if cf in ['azw3', 'epub', 'mobi'] and hasattr(self.options_widget, 'settings_changed'): if cf in ('azw3', 'epub', 'mobi') and hasattr(self.options_widget, 'settings_changed'):
self.options_widget.settings_changed("title/format") self.options_widget.settings_changed("title/format")
@property @property

View File

@ -39,9 +39,10 @@ class EditAuthorsDialog(QDialog, Ui_EditAuthorsDialog):
try: try:
self.table_column_widths = \ self.table_column_widths = \
gprefs.get('manage_authors_table_widths', None) gprefs.get('manage_authors_table_widths', None)
geom = gprefs.get('manage_authors_dialog_geometry', bytearray('')) geom = gprefs.get('manage_authors_dialog_geometry', None)
if geom:
self.restoreGeometry(QByteArray(geom)) self.restoreGeometry(QByteArray(geom))
except: except Exception:
pass pass
self.buttonBox.button(QDialogButtonBox.Ok).setText(_('&OK')) self.buttonBox.button(QDialogButtonBox.Ok).setText(_('&OK'))
@ -159,7 +160,7 @@ class EditAuthorsDialog(QDialog, Ui_EditAuthorsDialog):
# have a width. Assume 25. Not a problem because user-changed column # have a width. Assume 25. Not a problem because user-changed column
# widths will be remembered # widths will be remembered
w = self.table.width() - 25 - self.table.verticalHeader().width() w = self.table.width() - 25 - self.table.verticalHeader().width()
w /= self.table.columnCount() w //= self.table.columnCount()
for c in range(0, self.table.columnCount()): for c in range(0, self.table.columnCount()):
self.table.setColumnWidth(c, w) self.table.setColumnWidth(c, w)
self.save_state() self.save_state()

View File

@ -58,7 +58,8 @@ class MatchBooks(QDialog, Ui_MatchBooks):
try: try:
self.books_table_column_widths = \ self.books_table_column_widths = \
gprefs.get('match_books_dialog_books_table_widths', None) gprefs.get('match_books_dialog_books_table_widths', None)
geom = gprefs.get('match_books_dialog_geometry', bytearray('')) geom = gprefs.get('match_books_dialog_geometry', None)
if geom:
self.restoreGeometry(QByteArray(geom)) self.restoreGeometry(QByteArray(geom))
except: except:
pass pass

View File

@ -155,7 +155,8 @@ class Quickview(QDialog, Ui_Quickview):
self.books_table_column_widths = \ self.books_table_column_widths = \
gprefs.get('quickview_dialog_books_table_widths', None) gprefs.get('quickview_dialog_books_table_widths', None)
if not self.is_pane: if not self.is_pane:
geom = gprefs.get('quickview_dialog_geometry', bytearray('')) geom = gprefs.get('quickview_dialog_geometry', None)
if geom:
self.restoreGeometry(QByteArray(geom)) self.restoreGeometry(QByteArray(geom))
except: except:
pass pass
@ -588,7 +589,7 @@ class Quickview(QDialog, Ui_Quickview):
# have a width. Assume 25. Not a problem because user-changed column # have a width. Assume 25. Not a problem because user-changed column
# widths will be remembered # widths will be remembered
w = self.books_table.width() - 25 - self.books_table.verticalHeader().width() w = self.books_table.width() - 25 - self.books_table.verticalHeader().width()
w /= self.books_table.columnCount() w //= self.books_table.columnCount()
for c in range(0, self.books_table.columnCount()): for c in range(0, self.books_table.columnCount()):
self.books_table.setColumnWidth(c, w) self.books_table.setColumnWidth(c, w)
self.save_state() self.save_state()

View File

@ -643,7 +643,8 @@ class JobsDialog(QDialog, Ui_JobsDialog):
def restore_state(self): def restore_state(self):
try: try:
geom = gprefs.get('jobs_dialog_geometry', bytearray('')) geom = gprefs.get('jobs_dialog_geometry', None)
if geom:
self.restoreGeometry(QByteArray(geom)) self.restoreGeometry(QByteArray(geom))
state = gprefs.get('jobs view column layout3', None) state = gprefs.get('jobs view column layout3', None)
if state is not None: if state is not None: