Coverage for /pythoncovmergedfiles/medio/medio/src/py/py/_builtin.py: 24%

112 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-07 06:35 +0000

1import sys 

2 

3 

4# Passthrough for builtins supported with py27. 

5BaseException = BaseException 

6GeneratorExit = GeneratorExit 

7_sysex = (KeyboardInterrupt, SystemExit, MemoryError, GeneratorExit) 

8all = all 

9any = any 

10callable = callable 

11enumerate = enumerate 

12reversed = reversed 

13set, frozenset = set, frozenset 

14sorted = sorted 

15 

16 

17if sys.version_info >= (3, 0): 

18 exec("print_ = print ; exec_=exec") 

19 import builtins 

20 

21 # some backward compatibility helpers 

22 _basestring = str 

23 def _totext(obj, encoding=None, errors=None): 

24 if isinstance(obj, bytes): 

25 if errors is None: 

26 obj = obj.decode(encoding) 

27 else: 

28 obj = obj.decode(encoding, errors) 

29 elif not isinstance(obj, str): 

30 obj = str(obj) 

31 return obj 

32 

33 def _isbytes(x): 

34 return isinstance(x, bytes) 

35 

36 def _istext(x): 

37 return isinstance(x, str) 

38 

39 text = str 

40 bytes = bytes 

41 

42 def _getimself(function): 

43 return getattr(function, '__self__', None) 

44 

45 def _getfuncdict(function): 

46 return getattr(function, "__dict__", None) 

47 

48 def _getcode(function): 

49 return getattr(function, "__code__", None) 

50 

51 def execfile(fn, globs=None, locs=None): 

52 if globs is None: 

53 back = sys._getframe(1) 

54 globs = back.f_globals 

55 locs = back.f_locals 

56 del back 

57 elif locs is None: 

58 locs = globs 

59 fp = open(fn, "r") 

60 try: 

61 source = fp.read() 

62 finally: 

63 fp.close() 

64 co = compile(source, fn, "exec", dont_inherit=True) 

65 exec_(co, globs, locs) 

66 

67else: 

68 import __builtin__ as builtins 

69 _totext = unicode 

70 _basestring = basestring 

71 text = unicode 

72 bytes = str 

73 execfile = execfile 

74 callable = callable 

75 def _isbytes(x): 

76 return isinstance(x, str) 

77 def _istext(x): 

78 return isinstance(x, unicode) 

79 

80 def _getimself(function): 

81 return getattr(function, 'im_self', None) 

82 

83 def _getfuncdict(function): 

84 return getattr(function, "__dict__", None) 

85 

86 def _getcode(function): 

87 try: 

88 return getattr(function, "__code__") 

89 except AttributeError: 

90 return getattr(function, "func_code", None) 

91 

92 def print_(*args, **kwargs): 

93 """ minimal backport of py3k print statement. """ 

94 sep = ' ' 

95 if 'sep' in kwargs: 

96 sep = kwargs.pop('sep') 

97 end = '\n' 

98 if 'end' in kwargs: 

99 end = kwargs.pop('end') 

100 file = 'file' in kwargs and kwargs.pop('file') or sys.stdout 

101 if kwargs: 

102 args = ", ".join([str(x) for x in kwargs]) 

103 raise TypeError("invalid keyword arguments: %s" % args) 

104 at_start = True 

105 for x in args: 

106 if not at_start: 

107 file.write(sep) 

108 file.write(str(x)) 

109 at_start = False 

110 file.write(end) 

111 

112 def exec_(obj, globals=None, locals=None): 

113 """ minimal backport of py3k exec statement. """ 

114 __tracebackhide__ = True 

115 if globals is None: 

116 frame = sys._getframe(1) 

117 globals = frame.f_globals 

118 if locals is None: 

119 locals = frame.f_locals 

120 elif locals is None: 

121 locals = globals 

122 exec2(obj, globals, locals) 

123 

124if sys.version_info >= (3, 0): 

125 def _reraise(cls, val, tb): 

126 __tracebackhide__ = True 

127 assert hasattr(val, '__traceback__') 

128 raise cls.with_traceback(val, tb) 

129else: 

130 exec (""" 

131def _reraise(cls, val, tb): 

132 __tracebackhide__ = True 

133 raise cls, val, tb 

134def exec2(obj, globals, locals): 

135 __tracebackhide__ = True 

136 exec obj in globals, locals 

137""") 

138 

139def _tryimport(*names): 

140 """ return the first successfully imported module. """ 

141 assert names 

142 for name in names: 

143 try: 

144 __import__(name) 

145 except ImportError: 

146 excinfo = sys.exc_info() 

147 else: 

148 return sys.modules[name] 

149 _reraise(*excinfo)