From 898c915a31633b9df3294382c0499d2ebca4fb2f Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 4 Sep 1997 22:12:34 +0000 Subject: [PATCH] Added some try-excepts so that it can be imported in restricted mode (though some type names are undefined in that case, e.g. CodeType (inaccessible), FileType (not always accessible), and TracebackType and FrameType (inaccessible). --- Lib/types.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Lib/types.py b/Lib/types.py index c0b3296e39..5254ebc97d 100644 --- a/Lib/types.py +++ b/Lib/types.py @@ -10,9 +10,9 @@ IntType = type(0) LongType = type(0L) FloatType = type(0.0) try: - ComplexType = type(complex(0,1)) + ComplexType = type(complex(0,1)) except NameError: - pass + pass StringType = type('') @@ -23,10 +23,13 @@ DictType = DictionaryType = type({}) def _f(): pass FunctionType = type(_f) LambdaType = type(lambda: None) # Same as FunctionType -CodeType = type(_f.func_code) +try: + CodeType = type(_f.func_code) +except: + pass class _C: - def _m(self): pass + def _m(self): pass ClassType = type(_C) UnboundMethodType = type(_C._m) # Same as MethodType _x = _C() @@ -38,14 +41,20 @@ BuiltinMethodType = type([].append) # Same as BuiltinFunctionType ModuleType = type(sys) -FileType = type(sys.stdin) # XXX what if it was assigned to? +try: + FileType = type(sys.stdin) # XXX what if it was assigned to? +except: + pass XRangeType = type(xrange(0)) try: - raise TypeError + raise TypeError except TypeError: + try: TracebackType = type(sys.exc_traceback) FrameType = type(sys.exc_traceback.tb_frame) + except: + pass SliceType = type(slice(0)) EllipsisType = type(Ellipsis) -- 2.40.0