3
2af @ s d dl Z d dlZd dlZd dlZd dlmZmZ d dlm Z m
Z
mZ dddZG dd de
Z
G dd d e
ZG d
d deZdd
Zedkrd dlmZ edddd d dlmZ ee dS ) N)ObjectTreeItemmake_objecttreeitem)TreeNodeTreeItemScrolledCanvasc C sT |d krt j| }t|dddatjjddd t||attj d ta
t
j d S )NZwhiter )bgZhighlightthickness Zboth)expandfill)tkToplevelr Zscframepack
StackTreeItemitemr ZcanvasZnoder )rootflisttbtop r 0/opt/alt/python36/lib64/python3.6/stackviewer.pyStackBrowser
s
r c @ s6 e Zd ZdddZdd Zdd Zdd Zd
d ZdS )
r Nc C s || _ | j|| _| j | _d S )N)r get_stackstack
get_exceptiontext)selfr r r r r __init__ s zStackTreeItem.__init__c C sP |d krt j}g }|r&|jd kr&|j}x$|d k rJ|j|j|jf |j}q(W |S )N)syslast_tracebacktb_frametb_nextappend tb_lineno)r r r r r r r s
zStackTreeItem.get_stackc C s@ t j}t j}t|dr|j}t|}|d k r<|d t| }|S )N__name__z: )r last_type
last_valuehasattrr$ str)r typevaluesr r r r ' s
zStackTreeItem.get_exceptionc C s | j S )N)r )r r r r GetText1 s zStackTreeItem.GetTextc C s. g }x$| j D ]}t|| j}|j| qW |S )N)r
FrameTreeItemr r" )r sublistinfor r r r
GetSubList4 s
zStackTreeItem.GetSubList)NN)r$
__module____qualname__r r r r, r0 r r r r r s
r c @ s, e Zd Zdd Zdd Zdd Zdd Zd S )
r- c C s || _ || _d S )N)r/ r )r r/ r r r r r > s zFrameTreeItem.__init__c C s| | j \}}y|jd }W n d}Y nX |j}|j}|j}tj||}|j }|dkrhd|||f }nd||||f }|S )Nr$ ? z%s, line %d: %sz%s.%s(...), line %d: %s)r3 r4 N)r/ f_globalsf_codeco_filenameco_name linecachegetlinestrip) r r
linenomodnamecodefilenamefuncnameZ
sourceliner r r r r, B s
zFrameTreeItem.GetTextc C sR | j \}}g }|j|jk r4td|j| j}|j| td|j| j}|j| |S )Nz