##// END OF EJS Templates
[lib][tests][deepreload] Remove nose
[lib][tests][deepreload] Remove nose

File last commit:

r26209:2255db86
r26913:a1ddd3bc
Show More
py3compat.py
82 lines | 1.9 KiB | text/x-python | PythonLexer
Thomas Kluyver
Python 3 compatibility for identifiers.
r4740 # coding: utf-8
Hugo
Note py3compat is deprecated and will be removed in the future
r24011 """Compatibility tricks for Python 3. Mainly to do with unicode.
This file is deprecated and will be removed in a future version.
"""
Thomas Kluyver
Add function to handle u'abc' (Python 2) vs. 'abc' (Python 3) in doctests and similar.
r4894 import functools
Thomas Kluyver
Python 3 compatibility for os.getcwdu()
r13447 import os
Thomas Kluyver
Add module for Python 3 compatibility layer.
r4730 import sys
Thomas Kluyver
Function to refactor print statements in doctests to print() function calls for Python 3.
r4890 import re
Min RK
add shutil.which backport to py3compat
r21121 import shutil
Thomas Kluyver
Fix various problems highlighted by the test suite.
r4759 import types
Danilo J. S. Bellini
Cleaner PYPY flag (platform module); Comment fixes
r22756 import platform
Brandon Parsons
Feedback from pull request #1245
r6655
Brandon Parsons
saner default encoding mechanism
r6716 from .encoding import DEFAULT_ENCODING
Thomas Kluyver
Add module for Python 3 compatibility layer.
r4730
def decode(s, encoding=None):
Brandon Parsons
saner default encoding mechanism
r6716 encoding = encoding or DEFAULT_ENCODING
Thomas Kluyver
Add module for Python 3 compatibility layer.
r4730 return s.decode(encoding, "replace")
def encode(u, encoding=None):
Brandon Parsons
saner default encoding mechanism
r6716 encoding = encoding or DEFAULT_ENCODING
Thomas Kluyver
Add module for Python 3 compatibility layer.
r4730 return u.encode(encoding, "replace")
Brandon Parsons
pythonw in py3k sets std{in,out,err} to None...
r6651
Thomas Kluyver
Start using py3compat module.
r4731 def cast_unicode(s, encoding=None):
if isinstance(s, bytes):
return decode(s, encoding)
return s
def cast_bytes(s, encoding=None):
if not isinstance(s, bytes):
return encode(s, encoding)
return s
Thomas Kluyver
Add module for Python 3 compatibility layer.
r4730
Min RK
add py3compat.buffer_to_bytes_py2...
r19203 def buffer_to_bytes(buf):
"""Cast a buffer object to bytes"""
if not isinstance(buf, bytes):
buf = bytes(buf)
return buf
MinRK
move safe_unicode to py3compat
r10635 def safe_unicode(e):
"""unicode(e) with various fallbacks. Used for exceptions, which may not be
safe to call unicode() on.
"""
try:
kousik
Code Cleanup: Remove unused unused utility functions from 'IPython/utils/py3compat.py' #11985
r25330 return str(e)
MinRK
move safe_unicode to py3compat
r10635 except UnicodeError:
pass
try:
kousik
Code Cleanup: Remove unused unused utility functions from 'IPython/utils/py3compat.py' #11985
r25330 return repr(e)
MinRK
move safe_unicode to py3compat
r10635 except UnicodeError:
pass
return u'Unrecoverably corrupt evalue'
Hugo
Remove redundant Python 2 code
r24010 # keep reference to builtin_mod because the kernel overrides that value
# to forward requests to a frontend.
def input(prompt=''):
return builtin_mod.input(prompt)
builtin_mod_name = "builtins"
import builtins as builtin_mod
MethodType = types.MethodType
def execfile(fname, glob, loc=None, compiler=None):
loc = loc if (loc is not None) else glob
with open(fname, 'rb') as f:
compiler = compiler or compile
exec(compiler(f.read(), fname, 'exec'), glob, loc)
Danilo J. S. Bellini
Cleaner PYPY flag (platform module); Comment fixes
r22756 PYPY = platform.python_implementation() == "PyPy"
Scott Sanderson
BUG: Fix pprint failure on non-string __qualname__ or __name__....
r21803
Matthias Bussonnier
Reintroduce compatibility functions for a few release;...
r25402 # Cython still rely on that as a Dec 28 2019
# See https://github.com/cython/cython/pull/3291 and
# https://github.com/ipython/ipython/issues/12068
def no_code(x, encoding=None):
return x
unicode_to_str = cast_bytes_py2 = no_code