track embedded python distribution
This commit is contained in:
48
python/gevent/_compat.py
Normal file
48
python/gevent/_compat.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
internal gevent python 2/python 3 bridges. Not for external use.
|
||||
"""
|
||||
|
||||
from __future__ import print_function, absolute_import, division
|
||||
|
||||
|
||||
import sys
|
||||
|
||||
PY2 = sys.version_info[0] == 2
|
||||
PY3 = sys.version_info[0] >= 3
|
||||
PYPY = hasattr(sys, 'pypy_version_info')
|
||||
|
||||
## Types
|
||||
|
||||
if PY3:
|
||||
string_types = (str,)
|
||||
integer_types = (int,)
|
||||
text_type = str
|
||||
|
||||
else:
|
||||
import __builtin__ # pylint:disable=import-error
|
||||
string_types = __builtin__.basestring,
|
||||
text_type = __builtin__.unicode
|
||||
integer_types = (int, __builtin__.long)
|
||||
|
||||
|
||||
## Exceptions
|
||||
if PY3:
|
||||
def reraise(t, value, tb=None): # pylint:disable=unused-argument
|
||||
if value.__traceback__ is not tb and tb is not None:
|
||||
raise value.with_traceback(tb)
|
||||
raise value
|
||||
|
||||
else:
|
||||
from gevent._util_py2 import reraise # pylint:disable=import-error,no-name-in-module
|
||||
reraise = reraise # export
|
||||
|
||||
## Functions
|
||||
if PY3:
|
||||
iteritems = dict.items
|
||||
itervalues = dict.values
|
||||
xrange = range
|
||||
else:
|
||||
iteritems = dict.iteritems # python 3: pylint:disable=no-member
|
||||
itervalues = dict.itervalues # python 3: pylint:disable=no-member
|
||||
xrange = __builtin__.xrange
|
||||
Reference in New Issue
Block a user