mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
py3: more work toward universal __future__s
This commit is contained in:
parent
1cd54361c0
commit
80beb72b65
@ -1,6 +1,10 @@
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
""" The GUI """
|
||||
|
||||
import glob
|
||||
import os
|
||||
import signal
|
||||
@ -354,7 +358,7 @@ def is_widescreen():
|
||||
global _is_widescreen
|
||||
if _is_widescreen is None:
|
||||
try:
|
||||
_is_widescreen = float(available_width())/available_height() > 1.4
|
||||
_is_widescreen = available_width()/available_height() > 1.4
|
||||
except:
|
||||
_is_widescreen = False
|
||||
return _is_widescreen
|
||||
@ -736,7 +740,7 @@ class Translator(QTranslator):
|
||||
try:
|
||||
src = unicode_type(args[1])
|
||||
except:
|
||||
return u''
|
||||
return ''
|
||||
t = _
|
||||
return t(src)
|
||||
|
||||
@ -766,8 +770,8 @@ def load_builtin_fonts():
|
||||
if fid > -1:
|
||||
fam = QFontDatabase.applicationFontFamilies(fid)
|
||||
fam = set(map(unicode_type, fam))
|
||||
if u'calibre Symbols' in fam:
|
||||
_rating_font = u'calibre Symbols'
|
||||
if 'calibre Symbols' in fam:
|
||||
_rating_font = 'calibre Symbols'
|
||||
|
||||
|
||||
def setup_gui_option_parser(parser):
|
||||
@ -881,7 +885,7 @@ class Application(QApplication):
|
||||
self.line_height = max(12, QFontMetrics(self.font()).lineSpacing())
|
||||
|
||||
dl = QLocale(get_lang())
|
||||
if unicode_type(dl.bcp47Name()) != u'C':
|
||||
if unicode_type(dl.bcp47Name()) != 'C':
|
||||
QLocale.setDefault(dl)
|
||||
global gui_thread, qt_app
|
||||
gui_thread = QThread.currentThread()
|
||||
@ -978,22 +982,22 @@ class Application(QApplication):
|
||||
icon_map = self.__icon_map_memory_ = {}
|
||||
pcache = {}
|
||||
for k, v in iteritems({
|
||||
'DialogYesButton': u'ok.png',
|
||||
'DialogNoButton': u'window-close.png',
|
||||
'DialogCloseButton': u'window-close.png',
|
||||
'DialogOkButton': u'ok.png',
|
||||
'DialogCancelButton': u'window-close.png',
|
||||
'DialogHelpButton': u'help.png',
|
||||
'DialogOpenButton': u'document_open.png',
|
||||
'DialogSaveButton': u'save.png',
|
||||
'DialogApplyButton': u'ok.png',
|
||||
'DialogDiscardButton': u'trash.png',
|
||||
'MessageBoxInformation': u'dialog_information.png',
|
||||
'MessageBoxWarning': u'dialog_warning.png',
|
||||
'MessageBoxCritical': u'dialog_error.png',
|
||||
'MessageBoxQuestion': u'dialog_question.png',
|
||||
'BrowserReload': u'view-refresh.png',
|
||||
'LineEditClearButton': u'clear_left.png',
|
||||
'DialogYesButton': 'ok.png',
|
||||
'DialogNoButton': 'window-close.png',
|
||||
'DialogCloseButton': 'window-close.png',
|
||||
'DialogOkButton': 'ok.png',
|
||||
'DialogCancelButton': 'window-close.png',
|
||||
'DialogHelpButton': 'help.png',
|
||||
'DialogOpenButton': 'document_open.png',
|
||||
'DialogSaveButton': 'save.png',
|
||||
'DialogApplyButton': 'ok.png',
|
||||
'DialogDiscardButton': 'trash.png',
|
||||
'MessageBoxInformation': 'dialog_information.png',
|
||||
'MessageBoxWarning': 'dialog_warning.png',
|
||||
'MessageBoxCritical': 'dialog_error.png',
|
||||
'MessageBoxQuestion': 'dialog_question.png',
|
||||
'BrowserReload': 'view-refresh.png',
|
||||
'LineEditClearButton': 'clear_left.png',
|
||||
}):
|
||||
if v not in pcache:
|
||||
p = I(v)
|
||||
@ -1242,7 +1246,7 @@ def elided_text(text, font=None, width=300, pos='middle'):
|
||||
from PyQt5.Qt import QFontMetrics, QApplication
|
||||
fm = QApplication.fontMetrics() if font is None else (font if isinstance(font, QFontMetrics) else QFontMetrics(font))
|
||||
delta = 4
|
||||
ellipsis = u'\u2026'
|
||||
ellipsis = '\u2026'
|
||||
|
||||
def remove_middle(x):
|
||||
mid = len(x) // 2
|
||||
@ -1361,7 +1365,7 @@ def set_app_uid(val):
|
||||
try:
|
||||
AppUserModelID(unicode_type(val))
|
||||
except Exception as err:
|
||||
prints(u'Failed to set app uid with error:', as_unicode(err))
|
||||
prints('Failed to set app uid with error:', as_unicode(err))
|
||||
return False
|
||||
return True
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -19,7 +20,7 @@ from polyglot.builtins import unicode_type, string_or_bytes
|
||||
|
||||
|
||||
def menu_action_unique_name(plugin, unique_name):
|
||||
return u'%s : menu action : %s'%(plugin.unique_name, unique_name)
|
||||
return '%s : menu action : %s'%(plugin.unique_name, unique_name)
|
||||
|
||||
|
||||
class InterfaceAction(QObject):
|
||||
@ -151,7 +152,7 @@ class InterfaceAction(QObject):
|
||||
bn = self.__class__.__name__
|
||||
if getattr(self.interface_action_base_plugin, 'name'):
|
||||
bn = self.interface_action_base_plugin.name
|
||||
return u'Interface Action: %s (%s)'%(bn, self.name)
|
||||
return 'Interface Action: %s (%s)'%(bn, self.name)
|
||||
|
||||
def create_action(self, spec=None, attr='qaction', shortcut_name=None):
|
||||
if spec is None:
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
from __future__ import print_function
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
@ -252,7 +252,7 @@ class ChooseLibraryAction(InterfaceAction):
|
||||
for i in range(5):
|
||||
ac = self.create_action(spec=('', None, None, None),
|
||||
attr='switch_action%d'%i)
|
||||
ac.setObjectName(str(i))
|
||||
ac.setObjectName(unicode_type(i))
|
||||
self.switch_actions.append(ac)
|
||||
ac.setVisible(False)
|
||||
connect_lambda(ac.triggered, self, lambda self:
|
||||
@ -329,7 +329,7 @@ class ChooseLibraryAction(InterfaceAction):
|
||||
self.prev_lname = self.last_lname
|
||||
self.last_lname = lname
|
||||
if len(lname) > 16:
|
||||
lname = lname[:16] + u'…'
|
||||
lname = lname[:16] + '…'
|
||||
a = self.qaction
|
||||
a.setText(lname.replace('&', '&&&')) # I have no idea why this requires a triple ampersand
|
||||
self.update_tooltip(db.count())
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -648,7 +649,7 @@ class EditMetadataAction(InterfaceAction):
|
||||
if not dest_mi.comments:
|
||||
dest_mi.comments = src_mi.comments
|
||||
else:
|
||||
dest_mi.comments = unicode_type(dest_mi.comments) + u'\n\n' + unicode_type(src_mi.comments)
|
||||
dest_mi.comments = unicode_type(dest_mi.comments) + '\n\n' + unicode_type(src_mi.comments)
|
||||
if src_mi.title and (not dest_mi.title or dest_mi.title == _('Unknown')):
|
||||
dest_mi.title = src_mi.title
|
||||
if (src_mi.authors and src_mi.authors[0] != _('Unknown')) and (not dest_mi.authors or dest_mi.authors[0] == _('Unknown')):
|
||||
@ -701,7 +702,7 @@ class EditMetadataAction(InterfaceAction):
|
||||
if not dest_value:
|
||||
db.set_custom(dest_id, src_value, num=colnum)
|
||||
else:
|
||||
dest_value = unicode_type(dest_value) + u'\n\n' + unicode_type(src_value)
|
||||
dest_value = unicode_type(dest_value) + '\n\n' + unicode_type(src_value)
|
||||
db.set_custom(dest_id, dest_value, num=colnum)
|
||||
if (dt in {'bool', 'int', 'float', 'rating', 'datetime'} and dest_value is None):
|
||||
db.set_custom(dest_id, src_value, num=colnum)
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -22,6 +23,3 @@ class HelpAction(InterfaceAction):
|
||||
|
||||
def show_help(self, *args):
|
||||
open_url(QUrl(localize_user_manual_link('https://manual.calibre-ebook.com')))
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -24,5 +25,3 @@ class OpenFolderAction(InterfaceAction):
|
||||
enabled = loc == 'library'
|
||||
self.qaction.setEnabled(enabled)
|
||||
self.menuless_qaction.setEnabled(enabled)
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -19,5 +20,3 @@ class RestartAction(InterfaceAction):
|
||||
|
||||
def restart(self, *args):
|
||||
self.gui.quit(restart=True)
|
||||
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -7,12 +8,11 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
import os, numbers
|
||||
from functools import partial
|
||||
from polyglot.builtins import itervalues, map
|
||||
|
||||
|
||||
from calibre.utils.config import prefs
|
||||
from calibre.gui2 import error_dialog, Dispatcher, choose_dir
|
||||
from calibre.gui2.actions import InterfaceAction
|
||||
from polyglot.builtins import itervalues, map
|
||||
|
||||
|
||||
class SaveToDiskAction(InterfaceAction):
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,16 +1,17 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
||||
from PyQt5.Qt import QWidget, QListWidgetItem
|
||||
|
||||
from calibre.gui2 import gprefs
|
||||
from calibre.gui2.catalog.catalog_bibtex_ui import Ui_Form
|
||||
from polyglot.builtins import unicode_type, range
|
||||
from PyQt5.Qt import QWidget, QListWidgetItem
|
||||
|
||||
|
||||
class PluginWidget(QWidget, Ui_Form):
|
||||
|
@ -1,15 +1,16 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
from PyQt5.Qt import QWidget, QListWidgetItem, Qt, QVBoxLayout, QLabel, QListWidget
|
||||
|
||||
from calibre.gui2 import gprefs
|
||||
from calibre.gui2.ui import get_gui
|
||||
from polyglot.builtins import unicode_type, range
|
||||
from PyQt5.Qt import QWidget, QListWidgetItem, Qt, QVBoxLayout, QLabel, QListWidget
|
||||
|
||||
|
||||
def get_saved_field_data(name, all_fields):
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -15,7 +15,7 @@ from calibre.gui2 import gprefs, open_url, question_dialog, error_dialog
|
||||
from calibre.utils.config import JSONConfig
|
||||
from calibre.utils.icu import sort_key
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from polyglot.builtins import unicode_type, zip, range
|
||||
from polyglot.builtins import native_string_type, unicode_type, zip, range
|
||||
|
||||
from .catalog_epub_mobi_ui import Ui_Form
|
||||
from PyQt5.Qt import (Qt, QAbstractItemView, QCheckBox, QComboBox,
|
||||
@ -115,7 +115,7 @@ class PluginWidget(QWidget,Ui_Form):
|
||||
'name':_('Wishlist item'),
|
||||
'field':_('Tags'),
|
||||
'pattern':'Wishlist',
|
||||
'prefix':u'\u00d7'},],
|
||||
'prefix':'\u00d7'},],
|
||||
['table_widget','table_widget']))
|
||||
|
||||
self.OPTION_FIELDS = option_fields
|
||||
@ -423,7 +423,7 @@ class PluginWidget(QWidget,Ui_Form):
|
||||
# Hook Preset signals
|
||||
self.preset_delete_pb.clicked.connect(self.preset_remove)
|
||||
self.preset_save_pb.clicked.connect(self.preset_save)
|
||||
self.preset_field.currentIndexChanged[str].connect(self.preset_change)
|
||||
self.preset_field.currentIndexChanged[native_string_type].connect(self.preset_change)
|
||||
|
||||
self.blocking_all_signals = False
|
||||
|
||||
@ -1338,127 +1338,127 @@ class PrefixRules(GenericRulesTable):
|
||||
|
||||
# Create a list of prefixes for user selection
|
||||
raw_prefix_list = [
|
||||
('Ampersand',u'&'),
|
||||
('Angle left double',u'\u00ab'),
|
||||
('Angle left',u'\u2039'),
|
||||
('Angle right double',u'\u00bb'),
|
||||
('Angle right',u'\u203a'),
|
||||
('Arrow carriage return',u'\u21b5'),
|
||||
('Arrow double',u'\u2194'),
|
||||
('Arrow down',u'\u2193'),
|
||||
('Arrow left',u'\u2190'),
|
||||
('Arrow right',u'\u2192'),
|
||||
('Arrow up',u'\u2191'),
|
||||
('Asterisk',u'*'),
|
||||
('At sign',u'@'),
|
||||
('Bullet smallest',u'\u22c5'),
|
||||
('Bullet small',u'\u00b7'),
|
||||
('Bullet',u'\u2022'),
|
||||
('Cards clubs',u'\u2663'),
|
||||
('Cards diamonds',u'\u2666'),
|
||||
('Cards hearts',u'\u2665'),
|
||||
('Cards spades',u'\u2660'),
|
||||
('Caret',u'^'),
|
||||
('Checkmark',u'\u2713'),
|
||||
('Copyright circle c',u'\u00a9'),
|
||||
('Copyright circle r',u'\u00ae'),
|
||||
('Copyright trademark',u'\u2122'),
|
||||
('Currency cent',u'\u00a2'),
|
||||
('Currency dollar',u'$'),
|
||||
('Currency euro',u'\u20ac'),
|
||||
('Currency pound',u'\u00a3'),
|
||||
('Currency yen',u'\u00a5'),
|
||||
('Dagger double',u'\u2021'),
|
||||
('Dagger',u'\u2020'),
|
||||
('Degree',u'\u00b0'),
|
||||
('Dots3',u'\u2234'),
|
||||
('Hash',u'#'),
|
||||
('Infinity',u'\u221e'),
|
||||
('Lozenge',u'\u25ca'),
|
||||
('Math divide',u'\u00f7'),
|
||||
('Math empty',u'\u2205'),
|
||||
('Math equals',u'='),
|
||||
('Math minus',u'\u2212'),
|
||||
('Math plus circled',u'\u2295'),
|
||||
('Math times circled',u'\u2297'),
|
||||
('Math times',u'\u00d7'),
|
||||
('Paragraph',u'\u00b6'),
|
||||
('Percent',u'%'),
|
||||
('Plus-or-minus',u'\u00b1'),
|
||||
('Plus',u'+'),
|
||||
('Punctuation colon',u':'),
|
||||
('Punctuation colon-semi',u';'),
|
||||
('Punctuation exclamation',u'!'),
|
||||
('Punctuation question',u'?'),
|
||||
('Punctuation period',u'.'),
|
||||
('Punctuation slash back',u'\\'),
|
||||
('Punctuation slash forward',u'/'),
|
||||
('Section',u'\u00a7'),
|
||||
('Tilde',u'~'),
|
||||
('Vertical bar',u'|'),
|
||||
('Vertical bar broken',u'\u00a6'),
|
||||
('_0',u'0'),
|
||||
('_1',u'1'),
|
||||
('_2',u'2'),
|
||||
('_3',u'3'),
|
||||
('_4',u'4'),
|
||||
('_5',u'5'),
|
||||
('_6',u'6'),
|
||||
('_7',u'7'),
|
||||
('_8',u'8'),
|
||||
('_9',u'9'),
|
||||
('_A',u'A'),
|
||||
('_B',u'B'),
|
||||
('_C',u'C'),
|
||||
('_D',u'D'),
|
||||
('_E',u'E'),
|
||||
('_F',u'F'),
|
||||
('_G',u'G'),
|
||||
('_H',u'H'),
|
||||
('_I',u'I'),
|
||||
('_J',u'J'),
|
||||
('_K',u'K'),
|
||||
('_L',u'L'),
|
||||
('_M',u'M'),
|
||||
('_N',u'N'),
|
||||
('_O',u'O'),
|
||||
('_P',u'P'),
|
||||
('_Q',u'Q'),
|
||||
('_R',u'R'),
|
||||
('_S',u'S'),
|
||||
('_T',u'T'),
|
||||
('_U',u'U'),
|
||||
('_V',u'V'),
|
||||
('_W',u'W'),
|
||||
('_X',u'X'),
|
||||
('_Y',u'Y'),
|
||||
('_Z',u'Z'),
|
||||
('_a',u'a'),
|
||||
('_b',u'b'),
|
||||
('_c',u'c'),
|
||||
('_d',u'd'),
|
||||
('_e',u'e'),
|
||||
('_f',u'f'),
|
||||
('_g',u'g'),
|
||||
('_h',u'h'),
|
||||
('_i',u'i'),
|
||||
('_j',u'j'),
|
||||
('_k',u'k'),
|
||||
('_l',u'l'),
|
||||
('_m',u'm'),
|
||||
('_n',u'n'),
|
||||
('_o',u'o'),
|
||||
('_p',u'p'),
|
||||
('_q',u'q'),
|
||||
('_r',u'r'),
|
||||
('_s',u's'),
|
||||
('_t',u't'),
|
||||
('_u',u'u'),
|
||||
('_v',u'v'),
|
||||
('_w',u'w'),
|
||||
('_x',u'x'),
|
||||
('_y',u'y'),
|
||||
('_z',u'z'),
|
||||
('Ampersand', '&'),
|
||||
('Angle left double', '\u00ab'),
|
||||
('Angle left', '\u2039'),
|
||||
('Angle right double', '\u00bb'),
|
||||
('Angle right', '\u203a'),
|
||||
('Arrow carriage return', '\u21b5'),
|
||||
('Arrow double', '\u2194'),
|
||||
('Arrow down', '\u2193'),
|
||||
('Arrow left', '\u2190'),
|
||||
('Arrow right', '\u2192'),
|
||||
('Arrow up', '\u2191'),
|
||||
('Asterisk', '*'),
|
||||
('At sign', '@'),
|
||||
('Bullet smallest', '\u22c5'),
|
||||
('Bullet small', '\u00b7'),
|
||||
('Bullet', '\u2022'),
|
||||
('Cards clubs', '\u2663'),
|
||||
('Cards diamonds', '\u2666'),
|
||||
('Cards hearts', '\u2665'),
|
||||
('Cards spades', '\u2660'),
|
||||
('Caret', '^'),
|
||||
('Checkmark', '\u2713'),
|
||||
('Copyright circle c', '\u00a9'),
|
||||
('Copyright circle r', '\u00ae'),
|
||||
('Copyright trademark', '\u2122'),
|
||||
('Currency cent', '\u00a2'),
|
||||
('Currency dollar', '$'),
|
||||
('Currency euro', '\u20ac'),
|
||||
('Currency pound', '\u00a3'),
|
||||
('Currency yen', '\u00a5'),
|
||||
('Dagger double', '\u2021'),
|
||||
('Dagger', '\u2020'),
|
||||
('Degree', '\u00b0'),
|
||||
('Dots3', '\u2234'),
|
||||
('Hash', '#'),
|
||||
('Infinity', '\u221e'),
|
||||
('Lozenge', '\u25ca'),
|
||||
('Math divide', '\u00f7'),
|
||||
('Math empty', '\u2205'),
|
||||
('Math equals', '='),
|
||||
('Math minus', '\u2212'),
|
||||
('Math plus circled', '\u2295'),
|
||||
('Math times circled', '\u2297'),
|
||||
('Math times', '\u00d7'),
|
||||
('Paragraph', '\u00b6'),
|
||||
('Percent', '%'),
|
||||
('Plus-or-minus', '\u00b1'),
|
||||
('Plus', '+'),
|
||||
('Punctuation colon', ':'),
|
||||
('Punctuation colon-semi', ';'),
|
||||
('Punctuation exclamation', '!'),
|
||||
('Punctuation question', '?'),
|
||||
('Punctuation period', '.'),
|
||||
('Punctuation slash back', '\\'),
|
||||
('Punctuation slash forward', '/'),
|
||||
('Section', '\u00a7'),
|
||||
('Tilde', '~'),
|
||||
('Vertical bar', '|'),
|
||||
('Vertical bar broken', '\u00a6'),
|
||||
('_0', '0'),
|
||||
('_1', '1'),
|
||||
('_2', '2'),
|
||||
('_3', '3'),
|
||||
('_4', '4'),
|
||||
('_5', '5'),
|
||||
('_6', '6'),
|
||||
('_7', '7'),
|
||||
('_8', '8'),
|
||||
('_9', '9'),
|
||||
('_A', 'A'),
|
||||
('_B', 'B'),
|
||||
('_C', 'C'),
|
||||
('_D', 'D'),
|
||||
('_E', 'E'),
|
||||
('_F', 'F'),
|
||||
('_G', 'G'),
|
||||
('_H', 'H'),
|
||||
('_I', 'I'),
|
||||
('_J', 'J'),
|
||||
('_K', 'K'),
|
||||
('_L', 'L'),
|
||||
('_M', 'M'),
|
||||
('_N', 'N'),
|
||||
('_O', 'O'),
|
||||
('_P', 'P'),
|
||||
('_Q', 'Q'),
|
||||
('_R', 'R'),
|
||||
('_S', 'S'),
|
||||
('_T', 'T'),
|
||||
('_U', 'U'),
|
||||
('_V', 'V'),
|
||||
('_W', 'W'),
|
||||
('_X', 'X'),
|
||||
('_Y', 'Y'),
|
||||
('_Z', 'Z'),
|
||||
('_a', 'a'),
|
||||
('_b', 'b'),
|
||||
('_c', 'c'),
|
||||
('_d', 'd'),
|
||||
('_e', 'e'),
|
||||
('_f', 'f'),
|
||||
('_g', 'g'),
|
||||
('_h', 'h'),
|
||||
('_i', 'i'),
|
||||
('_j', 'j'),
|
||||
('_k', 'k'),
|
||||
('_l', 'l'),
|
||||
('_m', 'm'),
|
||||
('_n', 'n'),
|
||||
('_o', 'o'),
|
||||
('_p', 'p'),
|
||||
('_q', 'q'),
|
||||
('_r', 'r'),
|
||||
('_s', 's'),
|
||||
('_t', 't'),
|
||||
('_u', 'u'),
|
||||
('_v', 'v'),
|
||||
('_w', 'w'),
|
||||
('_x', 'x'),
|
||||
('_y', 'y'),
|
||||
('_z', 'z'),
|
||||
]
|
||||
raw_prefix_list = sorted(raw_prefix_list, key=prefix_sorter)
|
||||
self.prefix_list = [x[1] for x in raw_prefix_list]
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -338,7 +339,7 @@ class EditorWidget(QWebView, LineEditECM): # {{{
|
||||
|
||||
@property
|
||||
def html(self):
|
||||
ans = u''
|
||||
ans = ''
|
||||
try:
|
||||
if not self.page().mainFrame().documentElement().findFirst('meta[name="calibre-dont-sanitize"]').isNull():
|
||||
# Bypass cleanup if special meta tag exists
|
||||
@ -364,9 +365,9 @@ class EditorWidget(QWebView, LineEditECM): # {{{
|
||||
x.tag not in ('script', 'style')]
|
||||
|
||||
if len(elems) > 1:
|
||||
ans = u'<div>%s</div>'%(u''.join(elems))
|
||||
ans = '<div>%s</div>'%(''.join(elems))
|
||||
else:
|
||||
ans = u''.join(elems)
|
||||
ans = ''.join(elems)
|
||||
if not ans.startswith('<'):
|
||||
ans = '<p>%s</p>'%ans
|
||||
ans = xml_replace_entities(ans)
|
||||
@ -482,7 +483,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
if state == State_Comment:
|
||||
start = pos
|
||||
while pos < len_:
|
||||
if text[pos:pos+3] == u"-->":
|
||||
if text[pos:pos+3] == "-->":
|
||||
pos += 3
|
||||
state = State_Text
|
||||
break
|
||||
@ -495,7 +496,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
while pos < len_:
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
if ch == u'>':
|
||||
if ch == '>':
|
||||
state = State_Text
|
||||
break
|
||||
self.setFormat(start, pos - start, self.colors['doctype'])
|
||||
@ -506,7 +507,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
while pos < len_:
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
if ch == u'>':
|
||||
if ch == '>':
|
||||
state = State_Text
|
||||
break
|
||||
if not ch.isspace():
|
||||
@ -524,7 +525,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
pos -= 1
|
||||
state = State_InsideTag
|
||||
break
|
||||
if ch == u'>':
|
||||
if ch == '>':
|
||||
state = State_Text
|
||||
break
|
||||
self.setFormat(start, pos - start, self.colors['tag'])
|
||||
@ -537,10 +538,10 @@ class Highlighter(QSyntaxHighlighter):
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
|
||||
if ch == u'/':
|
||||
if ch == '/':
|
||||
continue
|
||||
|
||||
if ch == u'>':
|
||||
if ch == '>':
|
||||
state = State_Text
|
||||
break
|
||||
|
||||
@ -557,11 +558,11 @@ class Highlighter(QSyntaxHighlighter):
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
|
||||
if ch == u'=':
|
||||
if ch == '=':
|
||||
state = State_AttributeValue
|
||||
break
|
||||
|
||||
if ch in (u'>', u'/'):
|
||||
if ch in ('>', '/'):
|
||||
state = State_InsideTag
|
||||
break
|
||||
|
||||
@ -577,12 +578,12 @@ class Highlighter(QSyntaxHighlighter):
|
||||
pos += 1
|
||||
|
||||
# handle opening single quote
|
||||
if ch == u"'":
|
||||
if ch == "'":
|
||||
state = State_SingleQuote
|
||||
break
|
||||
|
||||
# handle opening double quote
|
||||
if ch == u'"':
|
||||
if ch == '"':
|
||||
state = State_DoubleQuote
|
||||
break
|
||||
|
||||
@ -597,7 +598,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
ch = text[pos]
|
||||
if ch.isspace():
|
||||
break
|
||||
if ch in (u'>', u'/'):
|
||||
if ch in ('>', '/'):
|
||||
break
|
||||
pos += 1
|
||||
state = State_InsideTag
|
||||
@ -610,7 +611,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
while pos < len_:
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
if ch == u"'":
|
||||
if ch == "'":
|
||||
break
|
||||
|
||||
state = State_InsideTag
|
||||
@ -624,7 +625,7 @@ class Highlighter(QSyntaxHighlighter):
|
||||
while pos < len_:
|
||||
ch = text[pos]
|
||||
pos += 1
|
||||
if ch == u'"':
|
||||
if ch == '"':
|
||||
break
|
||||
|
||||
state = State_InsideTag
|
||||
@ -635,18 +636,18 @@ class Highlighter(QSyntaxHighlighter):
|
||||
# State_Text and default
|
||||
while pos < len_:
|
||||
ch = text[pos]
|
||||
if ch == u'<':
|
||||
if text[pos:pos+4] == u"<!--":
|
||||
if ch == '<':
|
||||
if text[pos:pos+4] == "<!--":
|
||||
state = State_Comment
|
||||
else:
|
||||
if text[pos:pos+9].upper() == u"<!DOCTYPE":
|
||||
if text[pos:pos+9].upper() == "<!DOCTYPE":
|
||||
state = State_DocType
|
||||
else:
|
||||
state = State_TagStart
|
||||
break
|
||||
elif ch == u'&':
|
||||
elif ch == '&':
|
||||
start = pos
|
||||
while pos < len_ and text[pos] != u';':
|
||||
while pos < len_ and text[pos] != ';':
|
||||
self.setFormat(start, pos - start,
|
||||
self.colors['entity'])
|
||||
pos += 1
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL 3'
|
||||
__copyright__ = '2011, John Schember <john@nachtimwald.com>'
|
||||
|
@ -1,4 +1,5 @@
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
@ -34,7 +35,7 @@ from calibre.utils.config import tweaks, device_prefs
|
||||
from calibre.utils.img import scale_image
|
||||
from calibre.library.save_to_disk import find_plugboard
|
||||
from calibre.ptempfile import PersistentTemporaryFile, force_unicode as filename_to_unicode
|
||||
from polyglot.builtins import unicode_type, string_or_bytes
|
||||
from polyglot.builtins import unicode_type, string_or_unicode
|
||||
from polyglot import queue
|
||||
# }}}
|
||||
|
||||
@ -209,7 +210,7 @@ class DeviceManager(Thread): # {{{
|
||||
tb = traceback.format_exc()
|
||||
if DEBUG or tb not in self.reported_errors:
|
||||
self.reported_errors.add(tb)
|
||||
prints('Unable to open device', str(dev))
|
||||
prints('Unable to open device', unicode_type(dev))
|
||||
prints(tb)
|
||||
continue
|
||||
self.after_device_connect(dev, device_kind)
|
||||
@ -472,7 +473,7 @@ class DeviceManager(Thread): # {{{
|
||||
info = self.device.get_device_information(end_session=False)
|
||||
if len(info) < 5:
|
||||
info = tuple(list(info) + [{}])
|
||||
info = [i.replace('\x00', '').replace('\x01', '') if isinstance(i, string_or_bytes) else i
|
||||
info = [i.replace('\x00', '').replace('\x01', '') if isinstance(i, string_or_unicode) else i
|
||||
for i in info]
|
||||
cp = self.device.card_prefix(end_session=False)
|
||||
fs = self.device.free_space()
|
||||
@ -604,7 +605,7 @@ class DeviceManager(Thread): # {{{
|
||||
metadata=None, plugboards=None, add_as_step_to_job=None):
|
||||
desc = ngettext('Upload one book to the device', 'Upload {} books to the device', len(names)).format(len(names))
|
||||
if titles:
|
||||
desc += u': ' + u', '.join(titles)
|
||||
desc += ': ' + ', '.join(titles)
|
||||
return self.create_job_step(self._upload_books, done, to_job=add_as_step_to_job,
|
||||
args=[files, names],
|
||||
kwargs={'on_card':on_card,'metadata':metadata,'plugboards':plugboards}, description=desc)
|
||||
@ -930,7 +931,7 @@ class DeviceMixin(object): # {{{
|
||||
d.show()
|
||||
|
||||
def auto_convert_question(self, msg, autos):
|
||||
autos = u'\n'.join(map(unicode_type, map(force_unicode, autos)))
|
||||
autos = '\n'.join(map(unicode_type, map(force_unicode, autos)))
|
||||
return self.ask_a_yes_no_question(
|
||||
_('No suitable formats'), msg,
|
||||
ans_when_user_unavailable=True,
|
||||
@ -1627,7 +1628,7 @@ class DeviceMixin(object): # {{{
|
||||
|
||||
if job.exception is not None:
|
||||
if isinstance(job.exception, FreeSpaceError):
|
||||
where = 'in main memory.' if 'memory' in str(job.exception) \
|
||||
where = 'in main memory.' if 'memory' in unicode_type(job.exception) \
|
||||
else 'on the storage card.'
|
||||
titles = '\n'.join(['<li>'+mi.title+'</li>'
|
||||
for mi in metadata])
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -44,7 +44,7 @@ class DBUSNotifier(Notifier):
|
||||
self._notify = dbus.Interface(session_bus.get_object(server, path), interface)
|
||||
except Exception as err:
|
||||
self.ok = False
|
||||
self.err = str(err)
|
||||
self.err = unicode_type(err)
|
||||
if DEBUG:
|
||||
prints(server, 'found' if self.ok else 'not found', 'in', '%.1f' % (time.time() - start), 'seconds')
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||
from __future__ import with_statement
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||
@ -20,7 +20,7 @@ from calibre.gui2.dialogs.confirm_delete import confirm
|
||||
from calibre.gui2.dialogs.saved_search_editor import SavedSearchEditor
|
||||
from calibre.gui2.dialogs.search import SearchDialog
|
||||
from calibre.utils.icu import primary_sort_key
|
||||
from polyglot.builtins import unicode_type, string_or_bytes, map, range
|
||||
from polyglot.builtins import native_string_type, unicode_type, string_or_bytes, map, range
|
||||
|
||||
QT_HIDDEN_CLEAR_ACTION = '_q_qlineeditclearaction'
|
||||
|
||||
@ -119,11 +119,11 @@ class SearchBox2(QComboBox): # {{{
|
||||
|
||||
c = self.line_edit.completer()
|
||||
c.setCompletionMode(c.PopupCompletion)
|
||||
c.highlighted[str].connect(self.completer_used)
|
||||
c.highlighted[native_string_type].connect(self.completer_used)
|
||||
|
||||
self.line_edit.key_pressed.connect(self.key_pressed, type=Qt.DirectConnection)
|
||||
# QueuedConnection as workaround for https://bugreports.qt-project.org/browse/QTBUG-40807
|
||||
self.activated[str].connect(self.history_selected, type=Qt.QueuedConnection)
|
||||
self.activated[native_string_type].connect(self.history_selected, type=Qt.QueuedConnection)
|
||||
self.setEditable(True)
|
||||
self.as_you_type = True
|
||||
self.timer = QTimer()
|
||||
@ -272,7 +272,7 @@ class SearchBox2(QComboBox): # {{{
|
||||
|
||||
def set_search_string(self, txt, store_in_history=False, emit_changed=True):
|
||||
if not store_in_history:
|
||||
self.activated[str].disconnect()
|
||||
self.activated[native_string_type].disconnect()
|
||||
try:
|
||||
self.setFocus(Qt.OtherFocusReason)
|
||||
if not txt:
|
||||
|
@ -1,4 +1,6 @@
|
||||
#!/usr/bin/env python2
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
@ -1,4 +1,5 @@
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
'''
|
||||
@ -23,7 +24,7 @@ from calibre.gui2.progress_indicator import ProgressIndicator as _ProgressIndica
|
||||
from calibre.gui2.dnd import (dnd_has_image, dnd_get_image, dnd_get_files,
|
||||
image_extensions, dnd_has_extension, DownloadDialog)
|
||||
from calibre.utils.localization import localize_user_manual_link
|
||||
from polyglot.builtins import unicode_type, range
|
||||
from polyglot.builtins import native_string_type, unicode_type, range
|
||||
|
||||
history = XMLConfig('history')
|
||||
|
||||
@ -45,11 +46,11 @@ class ProgressIndicator(QWidget): # {{{
|
||||
pwidth, pheight = view.size().width(), view.size().height()
|
||||
self.resize(pwidth, min(pheight, 250))
|
||||
if self.pos is None:
|
||||
self.move(0, (pheight-self.size().height())/2.)
|
||||
self.move(0, (pheight-self.size().height())/2)
|
||||
else:
|
||||
self.move(self.pos[0], self.pos[1])
|
||||
self.pi.resize(self.pi.sizeHint())
|
||||
self.pi.move(int((self.size().width()-self.pi.size().width())/2.), 0)
|
||||
self.pi.move(int((self.size().width()-self.pi.size().width())//2), 0)
|
||||
self.status.resize(self.size().width(), self.size().height()-self.pi.size().height()-10)
|
||||
self.status.move(0, self.pi.size().height()+10)
|
||||
self.status.setText('<h1>'+msg+'</h1>')
|
||||
@ -137,7 +138,7 @@ class FilenamePattern(QWidget, Ui_Form): # {{{
|
||||
self.series.setText(_('No match'))
|
||||
|
||||
if mi.series_index is not None:
|
||||
self.series_index.setText(str(mi.series_index))
|
||||
self.series_index.setText(unicode_type(mi.series_index))
|
||||
else:
|
||||
self.series_index.setText(_('No match'))
|
||||
|
||||
@ -151,7 +152,7 @@ class FilenamePattern(QWidget, Ui_Form): # {{{
|
||||
else:
|
||||
self.pubdate.setText(_('No match'))
|
||||
|
||||
self.isbn.setText(_('No match') if mi.isbn is None else str(mi.isbn))
|
||||
self.isbn.setText(_('No match') if mi.isbn is None else unicode_type(mi.isbn))
|
||||
self.comments.setText(mi.comments if mi.comments else _('No match'))
|
||||
|
||||
def pattern(self):
|
||||
@ -304,7 +305,7 @@ def draw_size(p, rect, w, h):
|
||||
f = p.font()
|
||||
f.setBold(True)
|
||||
p.setFont(f)
|
||||
sz = u'\u00a0%d x %d\u00a0'%(w, h)
|
||||
sz = '\u00a0%d x %d\u00a0'%(w, h)
|
||||
flags = Qt.AlignBottom|Qt.AlignRight|Qt.TextSingleLine
|
||||
szrect = p.boundingRect(rect, flags, sz)
|
||||
p.fillRect(szrect.adjusted(0, 0, 0, 4), QColor(0, 0, 0, 200))
|
||||
@ -369,8 +370,8 @@ class ImageView(QWidget, ImageDropMixin):
|
||||
pmap = pmap.scaled(int(nw*pmap.devicePixelRatio()), int(nh*pmap.devicePixelRatio()), Qt.IgnoreAspectRatio,
|
||||
Qt.SmoothTransformation)
|
||||
w, h = int(pmap.width()/pmap.devicePixelRatio()), int(pmap.height()/pmap.devicePixelRatio())
|
||||
x = int(abs(cw - w)/2.)
|
||||
y = int(abs(ch - h)/2.)
|
||||
x = int(abs(cw - w)//2)
|
||||
y = int(abs(ch - h)//2)
|
||||
target = QRect(x, y, w, h)
|
||||
p = QPainter(self)
|
||||
p.setRenderHints(QPainter.Antialiasing | QPainter.SmoothPixmapTransform)
|
||||
@ -570,7 +571,7 @@ class CompleteLineEdit(EnLineEdit): # {{{
|
||||
self.completer = ItemsCompleter(self, complete_items)
|
||||
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
|
||||
|
||||
self.completer.activated[str].connect(self.complete_text)
|
||||
self.completer.activated[native_string_type].connect(self.complete_text)
|
||||
|
||||
self.completer.setWidget(self)
|
||||
|
||||
@ -888,13 +889,13 @@ class PythonHighlighter(QSyntaxHighlighter): # {{{
|
||||
self.setFormat(0, textLength,
|
||||
PythonHighlighter.Formats["normal"])
|
||||
|
||||
if text.startswith(u"Traceback") or text.startswith(u"Error: "):
|
||||
if text.startswith("Traceback") or text.startswith("Error: "):
|
||||
self.setCurrentBlockState(ERROR)
|
||||
self.setFormat(0, textLength,
|
||||
PythonHighlighter.Formats["error"])
|
||||
return
|
||||
if prevState == ERROR and \
|
||||
not (text.startswith(u'>>>') or text.startswith(u"#")):
|
||||
not (text.startswith('>>>') or text.startswith("#")):
|
||||
self.setCurrentBlockState(ERROR)
|
||||
self.setFormat(0, textLength,
|
||||
PythonHighlighter.Formats["error"])
|
||||
@ -913,18 +914,18 @@ class PythonHighlighter(QSyntaxHighlighter): # {{{
|
||||
# PythonHighlighter.Rules.append((QRegExp(r"#.*"), "comment"))
|
||||
if not text:
|
||||
pass
|
||||
elif text[0] == u"#":
|
||||
elif text[0] == "#":
|
||||
self.setFormat(0, len(text),
|
||||
PythonHighlighter.Formats["comment"])
|
||||
else:
|
||||
stack = []
|
||||
for i, c in enumerate(text):
|
||||
if c in (u'"', u"'"):
|
||||
if c in ('"', "'"):
|
||||
if stack and stack[-1] == c:
|
||||
stack.pop()
|
||||
else:
|
||||
stack.append(c)
|
||||
elif c == u"#" and len(stack) == 0:
|
||||
elif c == "#" and len(stack) == 0:
|
||||
self.setFormat(i, len(text),
|
||||
PythonHighlighter.Formats["comment"])
|
||||
break
|
||||
|
Loading…
x
Reference in New Issue
Block a user