3
§ ff ã @ sÀ d dl Z d dlZd dlZd dlZd dlmZmZ d dlm Z m
Z
mZ ddd„ZG dd„ de
ƒZ
G dd „ d e
ƒZG d
d„ deƒZdd
„ Zedkr¼d dlmZ edddd� d dlmZ eeƒ dS )é N)ÚObjectTreeItemÚmake_objecttreeitem)ÚTreeNodeÚTreeItemÚScrolledCanvasc C sT |d krt j| ƒ}t|ddd�atjjddd� t||ƒattj d tƒa
t
jƒ d S )NZwhiter )ZbgZhighlightthicknessé Zboth)ÚexpandZfill)ÚtkÚToplevelr ZscÚframeZpackÚ
StackTreeItemÚitemr ZcanvasZnoder )ÚrootÚflistÚtbÚtop© r ú8/opt/alt/python36/lib64/python3.6/idlelib/stackviewer.pyÚStackBrowser
s
r c @ s6 e Zd Zddd„Zdd„ Zdd„ Zdd „ Zd
d„ ZdS )
r Nc C s || _ | j|ƒ| _| jƒ | _d S )N)r Ú get_stackÚstackÚ
get_exceptionÚtext)Ú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)ÚsysÚlast_tracebackÚtb_frameÚtb_nextÚappendÚ tb_lineno)r r r r r r r s
zStackTreeItem.get_stackc C s@ t j}t j}t|dƒr|j}t|ƒ}|d k r<|d t|ƒ }|S )NÚ__name__z: )r Ú last_typeÚ
last_valueÚhasattrr! Ústr)r ÚtypeÚvalueÚsr 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 ÚsublistÚinfor
r r r Ú
GetSubList4 s
zStackTreeItem.GetSubList)NN)r! Ú
__module__Ú__qualname__r r r r) r- 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)r0 r1 N)r, Ú f_globalsÚf_codeÚco_filenameÚco_nameÚ linecacheÚgetlineÚstrip) r r ÚlinenoÚmodnameÚcodeÚfilenameÚfuncnameZ
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