123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # -*- 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
|