calibre/src/polyglot/builtins.py
2018-09-10 15:46:56 +05:30

28 lines
681 B
Python

#!/usr/bin/env python2
# vim:fileencoding=utf-8
# License: GPL v3 Copyright: 2018, Kovid Goyal <kovid at kovidgoyal.net>
from __future__ import absolute_import, division, print_function, unicode_literals
import sys
is_py3 = sys.version_info.major >= 3
if is_py3:
def reraise(tp, value, tb=None):
try:
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
finally:
value = None
tb = None
else:
exec("""def reraise(tp, value, tb=None):
try:
raise tp, value, tb
finally:
tb = None
""")