summaryrefslogtreecommitdiff
path: root/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py
diff options
context:
space:
mode:
Diffstat (limited to 'eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py')
-rw-r--r--eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py72
1 files changed, 0 insertions, 72 deletions
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py
deleted file mode 100644
index 8843e9e..0000000
--- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/py3kcompat.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# py3kcompat.py - compatibility definitions for running hg in py3k
-#
-# Copyright 2010 Renato Cunha <renatoc@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.
-
-import os, builtins
-
-from numbers import Number
-
-def bytesformatter(format, args):
- '''Custom implementation of a formatter for bytestrings.
-
- This function currently relias 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
-
-# Create bytes equivalents for os.environ values
-for key in list(os.environ.keys()):
- # UTF-8 is fine for us
- bkey = key.encode('utf-8', 'surrogateescape')
- bvalue = os.environ[key].encode('utf-8', 'surrogateescape')
- os.environ[bkey] = bvalue
-
-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()
-