From 92e5dcb078c785202ad9c3b0b6ed9cbec6ba0dd9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 10 Aug 2019 13:25:22 +0530 Subject: [PATCH] py3: more future imports --- src/calibre/gui2/convert/single.py | 42 ++++++++++++++---------------- src/calibre/gui2/main.py | 20 +++++++------- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/src/calibre/gui2/convert/single.py b/src/calibre/gui2/convert/single.py index eff4cf2ca0..c3db4fff35 100644 --- a/src/calibre/gui2/convert/single.py +++ b/src/calibre/gui2/convert/single.py @@ -1,37 +1,35 @@ #!/usr/bin/env python2 # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import with_statement +# License: GPLv3 Copyright: 2009, Kovid Goyal -__license__ = 'GPL v3' -__copyright__ = '2009, Kovid Goyal ' -__docformat__ = 'restructuredtext en' +from __future__ import absolute_import, division, print_function, unicode_literals import shutil from PyQt5.Qt import ( - QAbstractListModel, Qt, QFont, QModelIndex, QDialog, QCoreApplication, - QSize, QDialogButtonBox, QGridLayout, QHBoxLayout, QCheckBox, QLabel, - QIcon, QComboBox, QListView, QSizePolicy, QSpacerItem, QStackedWidget, - QVBoxLayout, QFrame, QWidget, QTextEdit, QScrollArea, QRect) + QAbstractListModel, QCheckBox, QComboBox, QCoreApplication, QDialog, + QDialogButtonBox, QFont, QFrame, QGridLayout, QHBoxLayout, QIcon, QLabel, + QListView, QModelIndex, QRect, QScrollArea, QSize, QSizePolicy, QSpacerItem, + QStackedWidget, Qt, QTextEdit, QVBoxLayout, QWidget +) -from calibre.gui2 import gprefs +from calibre.customize.conversion import OptionRecommendation from calibre.ebooks.conversion.config import ( - GuiRecommendations, save_specifics, sort_formats_by_preference, get_input_format_for_book, get_output_formats) -from calibre.gui2.convert.metadata import MetadataWidget -from calibre.gui2.convert.look_and_feel import LookAndFeelWidget + GuiRecommendations, delete_specifics, get_input_format_for_book, + get_output_formats, save_specifics, sort_formats_by_preference +) +from calibre.ebooks.conversion.plumber import create_dummy_plumber +from calibre.gui2 import gprefs +from calibre.gui2.convert.debug import DebugWidget from calibre.gui2.convert.heuristics import HeuristicsWidget -from calibre.gui2.convert.search_and_replace import SearchAndReplaceWidget +from calibre.gui2.convert.look_and_feel import LookAndFeelWidget +from calibre.gui2.convert.metadata import MetadataWidget from calibre.gui2.convert.page_setup import PageSetupWidget +from calibre.gui2.convert.search_and_replace import SearchAndReplaceWidget from calibre.gui2.convert.structure_detection import StructureDetectionWidget from calibre.gui2.convert.toc import TOCWidget -from calibre.gui2.convert.debug import DebugWidget - - -from calibre.ebooks.conversion.plumber import create_dummy_plumber -from calibre.ebooks.conversion.config import delete_specifics -from calibre.customize.conversion import OptionRecommendation from calibre.utils.config import prefs -from polyglot.builtins import unicode_type, range +from polyglot.builtins import native_string_type, range, unicode_type class GroupModel(QAbstractListModel): @@ -83,8 +81,8 @@ class Config(QDialog): preferred_output_format) self.setup_pipeline() - self.input_formats.currentIndexChanged[str].connect(self.setup_pipeline) - self.output_formats.currentIndexChanged[str].connect(self.setup_pipeline) + self.input_formats.currentIndexChanged[native_string_type].connect(self.setup_pipeline) + self.output_formats.currentIndexChanged[native_string_type].connect(self.setup_pipeline) self.groups.setSpacing(5) self.groups.activated[(QModelIndex)].connect(self.show_pane) self.groups.clicked[(QModelIndex)].connect(self.show_pane) diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index bf82c6b8ab..9ee5b2d9bc 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python2 # vim:fileencoding=utf-8 # License: GPLv3 Copyright: 2015, Kovid Goyal -from __future__ import print_function +from __future__ import absolute_import, division, print_function, unicode_literals import os import re @@ -28,7 +28,7 @@ from calibre.utils.config import dynamic, prefs from calibre.utils.ipc import RC, gui_socket_address from calibre.utils.lock import singleinstance from calibre.utils.monotonic import monotonic -from polyglot.builtins import unicode_type, range, environ_item +from polyglot.builtins import as_bytes, environ_item, range, unicode_type if iswindows: winutil = plugins['winutil'][0] @@ -71,9 +71,9 @@ def find_portable_library(): return import glob candidates = [os.path.basename(os.path.dirname(x)) for x in glob.glob( - os.path.join(base, u'*%smetadata.db'%os.sep))] + os.path.join(base, '*%smetadata.db'%os.sep))] if not candidates: - candidates = [u'Calibre Library'] + candidates = ['Calibre Library'] lp = prefs['library_path'] if not lp: lib = os.path.join(base, candidates[0]) @@ -134,13 +134,13 @@ def get_default_library_path(): if isinstance(fname, unicode_type): try: fname.encode(filesystem_encoding) - except: + except Exception: fname = 'Calibre Library' x = os.path.expanduser('~'+os.sep+fname) if not os.path.exists(x): try: os.makedirs(x) - except: + except Exception: x = os.path.expanduser('~') return x @@ -360,8 +360,8 @@ def run_in_debug_mode(): os.close(fd) os.environ['CALIBRE_RESTARTING_FROM_GUI'] = environ_item('1') run_calibre_debug( - '--gui-debug', logpath, stdout=lopen(logpath, 'w'), - stderr=subprocess.STDOUT, stdin=lopen(os.devnull, 'r')) + '--gui-debug', logpath, stdout=lopen(logpath, 'wb'), + stderr=subprocess.STDOUT, stdin=lopen(os.devnull, 'rb')) def shellquote(s): @@ -478,7 +478,7 @@ def shutdown_other(rc=None): if rc.conn is None: prints(_('No running calibre found')) return # No running instance found - rc.conn.send('shutdown:') + rc.conn.send(b'shutdown:') prints(_('Shutdown command sent, waiting for shutdown...')) for i in range(50): if singleinstance(singleinstance_name): @@ -496,7 +496,7 @@ def communicate(opts, args): if len(args) > 1: args[1:] = [os.path.abspath(x) if os.path.exists(x) else x for x in args[1:]] import json - t.conn.send('launched:'+json.dumps(args)) + t.conn.send(b'launched:'+as_bytes(json.dumps(args))) t.conn.close() raise SystemExit(0)