~ubuntu-branches/ubuntu/natty/python2.6/natty-updates

1 by Matthias Klose
Import upstream version 2.6.1
1
"""Define names for all type symbols known in the standard interpreter.
2
3
Types that are part of optional modules (e.g. array) are not listed.
4
"""
5
import sys
6
7
# Iterators in Python aren't a matter of type but of protocol.  A large
8
# and changing number of builtin types implement *some* flavor of
9
# iterator.  Don't check the type!  Use hasattr to check for both
10
# "__iter__" and "next" attributes instead.
11
12
NoneType = type(None)
13
TypeType = type
14
ObjectType = object
15
16
IntType = int
17
LongType = long
18
FloatType = float
19
BooleanType = bool
20
try:
21
    ComplexType = complex
22
except NameError:
23
    pass
24
25
StringType = str
26
27
# StringTypes is already outdated.  Instead of writing "type(x) in
28
# types.StringTypes", you should use "isinstance(x, basestring)".  But
29
# we keep around for compatibility with Python 2.2.
30
try:
31
    UnicodeType = unicode
32
    StringTypes = (StringType, UnicodeType)
33
except NameError:
34
    StringTypes = (StringType,)
35
36
BufferType = buffer
37
38
TupleType = tuple
39
ListType = list
40
DictType = DictionaryType = dict
41
42
def _f(): pass
43
FunctionType = type(_f)
44
LambdaType = type(lambda: None)         # Same as FunctionType
45
try:
46
    CodeType = type(_f.func_code)
47
except RuntimeError:
48
    # Execution in restricted environment
49
    pass
50
51
def _g():
52
    yield 1
53
GeneratorType = type(_g())
54
55
class _C:
56
    def _m(self): pass
57
ClassType = type(_C)
58
UnboundMethodType = type(_C._m)         # Same as MethodType
59
_x = _C()
60
InstanceType = type(_x)
61
MethodType = type(_x._m)
62
63
BuiltinFunctionType = type(len)
64
BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType
65
66
ModuleType = type(sys)
67
FileType = file
68
XRangeType = xrange
69
70
try:
71
    raise TypeError
72
except TypeError:
73
    try:
74
        tb = sys.exc_info()[2]
75
        TracebackType = type(tb)
76
        FrameType = type(tb.tb_frame)
77
    except AttributeError:
78
        # In the restricted environment, exc_info returns (None, None,
79
        # None) Then, tb.tb_frame gives an attribute error
80
        pass
81
    tb = None; del tb
82
83
SliceType = slice
84
EllipsisType = type(Ellipsis)
85
86
DictProxyType = type(TypeType.__dict__)
87
NotImplementedType = type(NotImplemented)
88
89
# For Jython, the following two types are identical
90
GetSetDescriptorType = type(FunctionType.func_code)
91
MemberDescriptorType = type(FunctionType.func_globals)
92
93
del sys, _f, _g, _C, _x                           # Not for export