From 73caf890e60a6741f0c39b3c8af605016fd0ccb2 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 11 Sep 2019 23:35:48 -0400 Subject: [PATCH] finish up using universal __future__s This finally transitions the entire codebase to passing: python3 setup.py unicode_check --- src/calibre/utils/chm/__init__.py | 2 ++ src/calibre/utils/chm/chm.py | 1 + src/calibre/utils/complete.py | 18 +++++++--------- src/calibre/utils/fonts/__init__.py | 3 +-- src/calibre/utils/ipc/job.py | 2 +- src/calibre/utils/ipc/launch.py | 4 ++-- src/calibre/utils/ipc/server.py | 8 ++++---- src/calibre/utils/ipc/worker.py | 3 +-- src/calibre/utils/localization.py | 26 ++++++++++++------------ src/calibre/utils/magick/__init__.py | 4 +++- src/calibre/utils/magick/draw.py | 1 + src/calibre/utils/opensearch/__init__.py | 2 ++ src/calibre/utils/wmf/__init__.py | 1 + 13 files changed, 39 insertions(+), 36 deletions(-) diff --git a/src/calibre/utils/chm/__init__.py b/src/calibre/utils/chm/__init__.py index 93a4a345ed..20f51ca699 100644 --- a/src/calibre/utils/chm/__init__.py +++ b/src/calibre/utils/chm/__init__.py @@ -11,6 +11,7 @@ # General Public License for more details. # $Id: __init__.py,v 1.8 2006/06/18 10:50:43 rubensr Exp $ +from __future__ import absolute_import, division, print_function, unicode_literals ''' chm - A package to manipulate CHM files @@ -23,6 +24,7 @@ the chm module provides some higher level classes to simplify access to the CHM files information. ''' + __all__ = ["chm", "chmlib", "_chmlib", "extra"] __version__ = "0.8.4" __revision__ = "$Id: __init__.py,v 1.8 2006/06/18 10:50:43 rubensr Exp $" diff --git a/src/calibre/utils/chm/chm.py b/src/calibre/utils/chm/chm.py index d313ab5620..8efd6a449e 100644 --- a/src/calibre/utils/chm/chm.py +++ b/src/calibre/utils/chm/chm.py @@ -14,6 +14,7 @@ # General Public License for more details. # $Id: chm.py,v 1.12 2006/08/07 12:31:51 rubensr Exp $ +from __future__ import absolute_import, division, print_function, unicode_literals ''' chm - A high-level front end for the chmlib python module. diff --git a/src/calibre/utils/complete.py b/src/calibre/utils/complete.py index 4f1aa30c34..01500b62e5 100644 --- a/src/calibre/utils/complete.py +++ b/src/calibre/utils/complete.py @@ -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, print_function +from __future__ import absolute_import, division, print_function, unicode_literals __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' @@ -41,17 +41,13 @@ else: raise arg = repr(arg) if not isinstance(arg, bytes): + arg = unicode_type(arg) try: - arg = str(arg) - except ValueError: - arg = unicode_type(arg) - if isinstance(arg, unicode_type): - try: - arg = arg.encode(enc) - except UnicodeEncodeError: - if not safe_encode: - raise - arg = repr(arg) + arg = arg.encode(enc) + except UnicodeEncodeError: + if not safe_encode: + raise + arg = repr(arg) file.write(arg) if i != len(args)-1: diff --git a/src/calibre/utils/fonts/__init__.py b/src/calibre/utils/fonts/__init__.py index 1f83450b67..720ff711e6 100644 --- a/src/calibre/utils/fonts/__init__.py +++ b/src/calibre/utils/fonts/__init__.py @@ -1,8 +1,7 @@ #!/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 ' __docformat__ = 'restructuredtext en' - diff --git a/src/calibre/utils/ipc/job.py b/src/calibre/utils/ipc/job.py index ed66c78abc..28ba1aeee7 100644 --- a/src/calibre/utils/ipc/job.py +++ b/src/calibre/utils/ipc/job.py @@ -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 ' diff --git a/src/calibre/utils/ipc/launch.py b/src/calibre/utils/ipc/launch.py index 8cfd100b9a..303e362688 100644 --- a/src/calibre/utils/ipc/launch.py +++ b/src/calibre/utils/ipc/launch.py @@ -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 ' @@ -179,7 +179,7 @@ class Worker(object): origwd = cwd or os.path.abspath(getcwd()) except EnvironmentError: # cwd no longer exists - origwd = cwd or os.path.expanduser(u'~') + origwd = cwd or os.path.expanduser('~') env[native_string_type('ORIGWD')] = environ_item(as_hex_unicode(msgpack_dumps(origwd))) _cwd = cwd if priority is None: diff --git a/src/calibre/utils/ipc/server.py b/src/calibre/utils/ipc/server.py index bc6d80b1ff..a238dea531 100644 --- a/src/calibre/utils/ipc/server.py +++ b/src/calibre/utils/ipc/server.py @@ -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, with_statement +from __future__ import absolute_import, division, print_function, unicode_literals __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' @@ -134,7 +134,7 @@ if islinux: def create_listener(authkey, backlog=4): # Use abstract named sockets on linux to avoid creating unnecessary temp files - prefix = u'\0calibre-ipc-listener-%d-%%d' % os.getpid() + prefix = '\0calibre-ipc-listener-%d-%%d' % os.getpid() while True: address = (prefix % next(_name_counter)) if not ispy3 and not isinstance(address, bytes): @@ -214,8 +214,8 @@ class Server(Thread): with self._worker_launch_lock: self.launched_worker_count += 1 id = self.launched_worker_count - fd, rfile = tempfile.mkstemp(prefix=u'ipc_result_%d_%d_'%(self.id, id), - dir=base_dir(), suffix=u'.pickle') + fd, rfile = tempfile.mkstemp(prefix='ipc_result_%d_%d_'%(self.id, id), + dir=base_dir(), suffix='.pickle') os.close(fd) if redirect_output is None: redirect_output = not gui diff --git a/src/calibre/utils/ipc/worker.py b/src/calibre/utils/ipc/worker.py index 5aa0ade7de..981b2d4f45 100644 --- a/src/calibre/utils/ipc/worker.py +++ b/src/calibre/utils/ipc/worker.py @@ -1,7 +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 print_function +from __future__ import absolute_import, division, print_function, unicode_literals __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' diff --git a/src/calibre/utils/localization.py b/src/calibre/utils/localization.py index e5000afb01..fdbdbb1909 100644 --- a/src/calibre/utils/localization.py +++ b/src/calibre/utils/localization.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2 # vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import absolute_import, print_function +from __future__ import absolute_import, division, print_function, unicode_literals __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' @@ -181,18 +181,18 @@ def get_translator(bcp_47_code): lcdata = { - u'abday': (u'Sun', u'Mon', u'Tue', u'Wed', u'Thu', u'Fri', u'Sat'), - u'abmon': (u'Jan', u'Feb', u'Mar', u'Apr', u'May', u'Jun', u'Jul', u'Aug', u'Sep', u'Oct', u'Nov', u'Dec'), - u'd_fmt': u'%m/%d/%Y', - u'd_t_fmt': u'%a %d %b %Y %r %Z', - u'day': (u'Sunday', u'Monday', u'Tuesday', u'Wednesday', u'Thursday', u'Friday', u'Saturday'), - u'mon': (u'January', u'February', u'March', u'April', u'May', u'June', u'July', u'August', u'September', u'October', u'November', u'December'), - u'noexpr': u'^[nN].*', - u'radixchar': u'.', - u't_fmt': u'%r', - u't_fmt_ampm': u'%I:%M:%S %p', - u'thousep': u',', - u'yesexpr': u'^[yY].*' + 'abday': ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'), + 'abmon': ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), + 'd_fmt': '%m/%d/%Y', + 'd_t_fmt': '%a %d %b %Y %r %Z', + 'day': ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), + 'mon': ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), + 'noexpr': '^[nN].*', + 'radixchar': '.', + 't_fmt': '%r', + 't_fmt_ampm': '%I:%M:%S %p', + 'thousep': ',', + 'yesexpr': '^[yY].*' } diff --git a/src/calibre/utils/magick/__init__.py b/src/calibre/utils/magick/__init__.py index bbef22b5f4..db4a81ebb1 100644 --- a/src/calibre/utils/magick/__init__.py +++ b/src/calibre/utils/magick/__init__.py @@ -1,11 +1,13 @@ #!/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 ' __docformat__ = 'restructuredtext en' from calibre.utils.magick.legacy import Image, PixelWand +from polyglot.builtins import unicode_type if False: PixelWand @@ -13,5 +15,5 @@ if False: def create_canvas(width, height, bgcolor='#ffffff'): canvas = Image() - canvas.create_canvas(int(width), int(height), str(bgcolor)) + canvas.create_canvas(int(width), int(height), unicode_type(bgcolor)) return canvas diff --git a/src/calibre/utils/magick/draw.py b/src/calibre/utils/magick/draw.py index 290a11e6b7..36aa37797b 100644 --- a/src/calibre/utils/magick/draw.py +++ b/src/calibre/utils/magick/draw.py @@ -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 ' diff --git a/src/calibre/utils/opensearch/__init__.py b/src/calibre/utils/opensearch/__init__.py index 134a07e2e2..81963d5ac2 100644 --- a/src/calibre/utils/opensearch/__init__.py +++ b/src/calibre/utils/opensearch/__init__.py @@ -1,3 +1,5 @@ +from __future__ import absolute_import, division, print_function, unicode_literals + ''' Based on the OpenSearch Python module by Ed Summers from https://github.com/edsu/opensearch . diff --git a/src/calibre/utils/wmf/__init__.py b/src/calibre/utils/wmf/__init__.py index d8f7e34800..17f34c00df 100644 --- a/src/calibre/utils/wmf/__init__.py +++ b/src/calibre/utils/wmf/__init__.py @@ -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__ = '2011, Kovid Goyal '