[PATCH 3 of 3] py3kcompat: drop unused module

Yuya Nishihara yuya at tcha.org
Wed Dec 14 10:03:17 EST 2016


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1476604901 -32400
#      Sun Oct 16 17:01:41 2016 +0900
# Node ID 89287fe8826fbae16ec72ae970b3963914f0c58e
# Parent  077aff1707305042021381e812886416fc0d1690
py3kcompat: drop unused module

Perhaps this was a predated attempt of Python 3 porting. Python 3.5 supports
%-formatting of bytes.

diff --git a/mercurial/py3kcompat.py b/mercurial/py3kcompat.py
deleted file mode 100644
--- a/mercurial/py3kcompat.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# py3kcompat.py - compatibility definitions for running hg in py3k
-#
-# Copyright 2010 Renato Cunha <renatoc at gmail.com>
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-from __future__ import absolute_import
-
-import builtins
-import numbers
-
-Number = numbers.Number
-
-def bytesformatter(format, args):
-    '''Custom implementation of a formatter for bytestrings.
-
-    This function currently relies on the string formatter to do the
-    formatting and always returns bytes objects.
-
-    >>> bytesformatter(20, 10)
-    0
-    >>> bytesformatter('unicode %s, %s!', ('string', 'foo'))
-    b'unicode string, foo!'
-    >>> bytesformatter(b'test %s', 'me')
-    b'test me'
-    >>> bytesformatter('test %s', 'me')
-    b'test me'
-    >>> bytesformatter(b'test %s', b'me')
-    b'test me'
-    >>> bytesformatter('test %s', b'me')
-    b'test me'
-    >>> bytesformatter('test %d: %s', (1, b'result'))
-    b'test 1: result'
-    '''
-    # The current implementation just converts from bytes to unicode, do
-    # what's needed and then convert the results back to bytes.
-    # Another alternative is to use the Python C API implementation.
-    if isinstance(format, Number):
-        # If the fixer erroneously passes a number remainder operation to
-        # bytesformatter, we just return the correct operation
-        return format % args
-    if isinstance(format, bytes):
-        format = format.decode('utf-8', 'surrogateescape')
-    if isinstance(args, bytes):
-        args = args.decode('utf-8', 'surrogateescape')
-    if isinstance(args, tuple):
-        newargs = []
-        for arg in args:
-            if isinstance(arg, bytes):
-                arg = arg.decode('utf-8', 'surrogateescape')
-            newargs.append(arg)
-        args = tuple(newargs)
-    ret = format % args
-    return ret.encode('utf-8', 'surrogateescape')
-builtins.bytesformatter = bytesformatter
-
-origord = builtins.ord
-def fakeord(char):
-    if isinstance(char, int):
-        return char
-    return origord(char)
-builtins.ord = fakeord
-
-if __name__ == '__main__':
-    import doctest
-    doctest.testmod()
-


More information about the Mercurial-devel mailing list