1# -*- coding: utf-8 -*-
2
3import inspect
4import sys
5
6PY2 = sys.version_info[0] == 2
7
8if PY2:
9    getargspec = inspect.getargspec
10    exec('def reraise(tp, value, tb=None):\n raise tp, value, tb')
11else:
12    getargspec = inspect.getfullargspec
13    def reraise(tp, value, tb=None):
14        if value.__traceback__ is not tb:
15            raise value.with_traceback(tb)
16        raise value
17