Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5f7c4b3

Browse files
committed
Remove dead code in get_stack().
Modify get_stack() and get_exception to be StackTreeItem methods. SF Bug 610756. Neal Norwitz.
1 parent 75bc8ba commit 5f7c4b3

1 file changed

Lines changed: 23 additions & 31 deletions

File tree

Lib/idlelib/StackViewer.py

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,29 @@ class StackTreeItem(TreeItem):
1919

2020
def __init__(self, flist=None, tb=None):
2121
self.flist = flist
22-
self.stack = get_stack(tb)
23-
self.text = get_exception()
22+
self.stack = self.get_stack(tb)
23+
self.text = self.get_exception()
24+
25+
def get_stack(self, tb):
26+
if tb is None:
27+
tb = sys.last_traceback
28+
stack = []
29+
if tb and tb.tb_frame is None:
30+
tb = tb.tb_next
31+
while tb is not None:
32+
stack.append((tb.tb_frame, tb.tb_lineno))
33+
tb = tb.tb_next
34+
return stack
35+
36+
def get_exception(self):
37+
type = sys.last_type
38+
value = sys.last_value
39+
if hasattr(type, "__name__"):
40+
type = type.__name__
41+
s = str(type)
42+
if value is not None:
43+
s = s + ": " + str(value)
44+
return s
2445

2546
def GetText(self):
2647
return self.text
@@ -54,8 +75,6 @@ def GetText(self):
5475
else:
5576
item = "%s.%s(...), line %d: %s" % (modname, funcname,
5677
lineno, sourceline)
57-
## if i == index:
58-
## item = "> " + item
5978
return item
6079

6180
def GetSubList(self):
@@ -102,33 +121,6 @@ def setfunction(value, key=key, object=self.object):
102121
sublist.append(item)
103122
return sublist
104123

105-
def get_stack(t=None, f=None):
106-
if t is None:
107-
t = sys.last_traceback
108-
stack = []
109-
if t and t.tb_frame is f:
110-
t = t.tb_next
111-
while f is not None:
112-
stack.append((f, f.f_lineno))
113-
if f is self.botframe:
114-
break
115-
f = f.f_back
116-
stack.reverse()
117-
while t is not None:
118-
stack.append((t.tb_frame, t.tb_lineno))
119-
t = t.tb_next
120-
return stack
121-
122-
def get_exception(type=None, value=None):
123-
if type is None:
124-
type = sys.last_type
125-
value = sys.last_value
126-
if hasattr(type, "__name__"):
127-
type = type.__name__
128-
s = str(type)
129-
if value is not None:
130-
s = s + ": " + str(value)
131-
return s
132124

133125
def _test():
134126
try:

0 commit comments

Comments
 (0)