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
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:35 +0000
1import sys
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
17if sys.version_info >= (3, 0):
18 exec("print_ = print ; exec_=exec")
19 import builtins
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
33 def _isbytes(x):
34 return isinstance(x, bytes)
36 def _istext(x):
37 return isinstance(x, str)
39 text = str
40 bytes = bytes
42 def _getimself(function):
43 return getattr(function, '__self__', None)
45 def _getfuncdict(function):
46 return getattr(function, "__dict__", None)
48 def _getcode(function):
49 return getattr(function, "__code__", None)
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)
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)
80 def _getimself(function):
81 return getattr(function, 'im_self', None)
83 def _getfuncdict(function):
84 return getattr(function, "__dict__", None)
86 def _getcode(function):
87 try:
88 return getattr(function, "__code__")
89 except AttributeError:
90 return getattr(function, "func_code", None)
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)
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)
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""")
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)