unpickle_traceback()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
c 2
b 0
f 0
dl 0
loc 6
rs 9.4285
1
try:
2
    import copy_reg
3
except ImportError:
4
    import copyreg as copy_reg
5
from types import TracebackType
6
7
from . import Frame
8
from . import Traceback
9
10
11
def unpickle_traceback(tb_frame, tb_lineno, tb_next):
12
    ret = object.__new__(Traceback)
13
    ret.tb_frame = tb_frame
14
    ret.tb_lineno = tb_lineno
15
    ret.tb_next = tb_next
16
    return ret.as_traceback()
17
18
19
def pickle_traceback(tb):
20
    return unpickle_traceback, (Frame(tb.tb_frame), tb.tb_lineno, tb.tb_next and Traceback(tb.tb_next))
21
22
23
def install():
24
    copy_reg.pickle(TracebackType, pickle_traceback)
25