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