3 § fxC ã @ sÐ d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlmZ d dlm Z d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZx"d8D ]Zee eƒ ejde = q²W dZd9dd„Zd:dd„Zdadd„ Zedƒ e jƒ Zefdd„Zdada da!d;dd„Z"dd„ Z#d d!„ Z$d"d#„ Z%d$d%„ Z&d&d'„ Z'd(d)„ Z(d*d+„ Z)G d,d-„ d-ej*ƒZ+G d.d/„ d/e j,ƒZ-G d0d1„ d1e-ƒZ.G d2d3„ d3e-ƒZ/G d4d5„ d5ej0ƒZ1G d6d7„ d7e2ƒZ3edƒ dS )<é N)Úautocomplete)Úcalltip)Ú debugger_r)Ú debugobj_r)Úiomenu)Úrpc)ÚstackviewerÚsimpledialogÚ messageboxÚfontÚdialogÚ filedialogÚcommondialogÚttkztkinter.z 127.0.0.1c C sV d}|d||f 7 }|dkr(t j||ƒ}|jƒ }|r@|d| 7 }|d|j| f 7 }|S )zFormat warnings the IDLE way.z! Warning (from warnings module): z File "%s", line %s Nz %s z%s: %s )Ú linecacheÚgetlineÚstripÚ__name__)ÚmessageÚcategoryÚfilenameÚlinenoÚlineÚs© r ú0/opt/alt/python36/lib64/python3.6/idlelib/run.pyÚidle_formatwarning s r c C sB |dkrt j}y|jt| ||||ƒƒ W n tk r< Y nX dS )zuShow Idle-format warning after replacing warnings.showwarning. The only difference is the formatter called. N)ÚsysÚstderrÚwriter ÚOSError)r r r r Úfiler r r r Úidle_showwarning_subproc, s r" c C s0 | rt dkr,tja tt_nt dk r,t t_da dS )zFReplace warning.showwarning with idle_showwarning_subproc, or reverse.N)Ú_warnings_showwarningÚwarningsÚshowwarningr" )Zcapturer r r Úcapture_warnings<