1import sys
2
3__all__ = (
4    'text_type', 'string_types', 'izip', 'iteritems', 'itervalues',
5    'with_metaclass',
6)
7
8if sys.version_info[0] >= 3:
9    text_type = str
10    string_types = (str, )
11    izip = zip
12
13    def iteritems(o):
14        return o.items()
15
16    def itervalues(o):
17        return o.values()
18
19else:
20    text_type = unicode
21    string_types = (basestring, )
22    from itertools import izip
23
24    def iteritems(o):
25        return o.iteritems()
26
27    def itervalues(o):
28        return o.itervalues()
29
30
31def with_metaclass(meta, base=object):
32    return meta("NewBase", (base,), {})
33