Source code for smrf.utils.pycompat

import sys

PY3 = sys.version_info[0] >= 3

if PY3:  # pragma: no cover
    basestring = str
    unicode_type = str
    bytes_type = bytes

    def iteritems(d):
        return iter(d.items())

    def itervalues(d):
        return iter(d.values())

    pyrange = range
    pyzip = zip
    from functools import reduce as pyreduce
    import builtins
    from configparser import SafeConfigParser
else:  # pragma: no cover
    # Python 2
    basestring = basestring
    unicode_type = unicode
    bytes_type = str

[docs] def iteritems(d): return d.iteritems()
[docs] def itervalues(d): return d.itervalues()
pyrange = xrange from itertools import izip as pyzip from itertools import imap as pymap pyreduce = reduce import __builtin__ as builtins from ConfigParser import SafeConfigParser try: from cyordereddict import OrderedDict except ImportError: # pragma: no cover try: from collections import OrderedDict except ImportError: from ordereddict import OrderedDict