Your IP : 216.73.216.12
B
YI~dEO�@s:ddlZddlZddlZddlZddlZddlZddlZddlZddlZ ddl
Z
ddlZddlm
Z
ddlmZddlmZddlmZddlmZddlmZddlmZddlZddlZeejd d
�s�x"dD]Zeee�ejde=q�Wd
ejd _dZd@dd�ZdAdd�Zdadd�Zed�e� �Z!e!fdd�Z"d
a#d
a$d
a%dBdd�Z&dd�Z'dd�Z(dd�Z)d d!�Z*d"d#�Z+d$d%�Z,d&d'�Z-d(d)�Z.d*Z/d+d,�Z0d-d.�Z1Gd/d0�d0ej2�Z3Gd1d2�d2ej4�Z5Gd3d4�d4e5�Z6Gd5d6�d6e5�Z7Gd7d8�d8ej8�Z9Gd9d:�d:e:�Z;e<d;k�r.dd<l=m&Z&e&d=d>d?�ed
�dS)C�N)�autocomplete)�calltip)�
debugger_r)�
debugobj_r)�iomenu)�rpc)�stackviewerzidlelib.run�firstrun)ZsimpledialogZ
messagebox�fontZdialogZ
filedialogZcommondialogZttkztkinter.Fz 127.0.0.1cCsVd}|d||f7}|dkr(t�||�}|��}|r@|d|7}|d|j|f7}|S)Nz!
Warning (from warnings module):
z File "%s", line %s
z %s
z%s: %s
)� linecache�getline�strip�__name__)�message�category�filename�lineno�line�s�r�0/opt/alt/python37/lib64/python3.7/idlelib/run.py�idle_formatwarning*srcCsB|dkrtj}y|�t|||||��Wntk
r<YnXdS)N)�sys�stderr�writer�OSError)rrrr�filerrrr�idle_showwarning_subproc7srcCs0|rtdkr,tjatt_ntdk r,tt_dadS)N)�_warnings_showwarning�warnings�showwarningr)Zcapturerrr�capture_warningsGsr!TcCs|�d�dS)N�update)�eval)�tclrrr�handle_tk_eventsWsr%cCs�|ayttjd�}Wntdtjd�dStd�dgtjdd�<tjt dt
|ffd�}d|_|���x0y�t
r�y
t�Wntk
r�wpYnXytjjddd �}Wntjk
r�d}YnX|r�|\}\}}}|||�}tj�||f�nt�Wqptk
�r t�rda
wpYqptk
�r>td
��Yqpt��\} }
}yt�tj�|df�Wn&tj| |
|tjd�t�YnXwpYqpXqpWdS)N���z/IDLE Subprocess: no IP port passed in sys.argv.)rT�Z
SockThread)�target�name�argsg�������?)�blockZtimeoutF)�no_exitfunc�intr�argv�print�
__stderr__r!� threadingZThread�
manage_socket� LOCALHOSTZdaemon�start�exit_now�exit�KeyboardInterruptrZ
request_queue�get�queueZEmptyZresponse_queueZputr%�quitting�
SystemExit�exc_info�print_exception� traceback)Zdel_exitfuncZportZ
sockthread�request�seq�methodr*�kwargs�ret�type�value�tbrrr�maines\
rGcCs�x�td�D]b}t�|�yt|t�}PWq
tk
rj}z$td|jddtj d�|}Wdd}~XYq
Xq
Wtdtj d�t
||�dadS|��dS)N�zIDLE Subprocess: OSError: �z, retrying....)rz8IDLE Subprocess: Connection to IDLE GUI failed, exiting.T)
�range�time�sleep�MyRPCServer� MyHandlerrr/r*rr0�show_socket_errorr5Zhandle_request)�address�iZserver�errZsocket_errorrrrr2�s
r2cCslddl}ddlm}|��}t|�|��|dd|d�d|d�d|j�d|j�d � |d
�|��dS)Nr)� showerrorzSubprocess Connection Errorz#IDLE's subprocess can't connect to �:rIz.
Fatal OSError #z: zz.
See the 'Startup failure' section of the IDLE doc, online at
https://docs.python.org/3/library/idle.html#startup-failure)�parent) �tkinterZtkinter.messageboxrSZTk�fix_scalingZwithdraw�errno�strerrorZdestroy)rRrPrVrS�rootrrrrO�s(rOcsdddl}|��t�tj�t��\}}}}|\t_t_t_t �����fdd���|||�dS)Nrc s���t|��|j}|j}|dk rNt|��krN�t|�||j�td�d�n8|dk r�|js�t|��kr��t|�||j�td�d�|r�t� |�}td�d�d}t
||�tj|�d�t�||�}x|D]}t|d�d�q�WdS)NzF
The above exception was the direct cause of the following exception:
)rzE
During handling of the above exception, another exception occurred:
z"Traceback (most recent call last):)zrun.pyzrpc.pyzthreading.pyzqueue.pyz
debugger_r.pyzbdb.pyr')�endr)
�add�id�__context__� __cause__rD�
__traceback__r/�__suppress_context__r>�
extract_tb�cleanup_traceback�
print_list�format_exception_only) �typ�excrF�context�causeZtbe�exclude�linesr)�efile� print_exc�seenrrrm�s,
z"print_exception.<locals>.print_exc)
r�
checkcache�flush_stdoutrrr<� last_type�
last_value�last_traceback�set)rrf�valrF�excinfor)rlrmrnrr=�sr=c
Cs|dd�}x2|r>x"|D]}|dd�|�rPqWP|d=qWx2|rrx"|D]}|dd�|�rLPqLWP|d=qBWt|�dkr�|dd�|dd�<tdtjd�tjdj}xbtt|��D]R}||\}}}} |dkr�d}| s�|� d�r�|�
d d
||fi�} |||| f||<q�WdS)Nrr&z** IDLE Internal Exception: )r�exec�?z
-toplevel-z <pyshell#rr)�count�lenr/rrrZobjecttable�
rpchandlerrJ�
startswithZ
remotecall)
rFrjZorig_tbZrpcfiler{rQ�fnZlnZnmrrrrrc�s2
rccCsdS)NrrrrrrpsrpcCs*trddl}|��td�t�d�dS)NrF)r,�atexitZ_clearr!rr6)r~rrrr6s
r6cCsrddl}t|j�dd��}|dkrnxJ|j�|�D]:}|jj||dd�}t|d�}|dkr0td|�|d<q0WdS) Nr�tk�scalinggffffff�?T)rZr)�exists�sizeg�) Ztkinter.font�floatrZcallr
�namesZFontr-�round)rZrVr�r)r
r�rrrrW*srWcCs2|jdk r|jdnd}|t�t�|��|_dS)Nz
r')�__doc__�textwrap�fill�dedent)Zfun�textZtemrrr�fixdoc6sr��cs|t�tj��fdd���t�dt�d��t�tj��fdd���t�dt�dt�d ��t�t��t��t_�t_dS)
Ncs^|rtd��y
|\}Wn(tk
r>tdt|��d���YnX|dksPtd����|t�S)Nz.setrecursionlimit() takes no keyword argumentsz0setrecursionlimit() takes exactly one argument (z given)rz/recursion limit must be greater or equal than 1)� TypeError�
ValueErrorrz�__wrapped__�RECURSIONLIMIT_DELTA)r*rB�limit)�setrecursionlimitrrr�@s
z:install_recursionlimit_wrappers.<locals>.setrecursionlimitz# This IDLE wrapper adds z7 to prevent possible
uninterruptible loops.cs���tS)N)r�r�r)�getrecursionlimitrrr�Usz:install_recursionlimit_wrappers.<locals>.getrecursionlimitz( This IDLE wrapper subtracts z# to compensate
for the z" IDLE adds when setting the limit.)� functools�wrapsrr�r�r�r�rr)r�r�r�install_recursionlimit_wrappers<sr�cCsFttjdd�rBttjdd�rBtjjt_tjjt_t�t��t�dS)Nr�)�getattrrr�r�r�r�rrrr�!uninstall_recursionlimit_wrappersds
r�c@seZdZdd�ZdS)rMcCs�y�Wn�tk
r�Yn�tk
r:dat��Yn�tj}td|d�td|d�tdt� �j
|d�td||d�tdt|�|d�tj
|d�td|d�td |d�dat��YnXdS)
NTz)
----------------------------------------)rzUnhandled server exception!z
Thread: %szClient Address: z Request: z#
*** Unrecoverable, server exiting!z(----------------------------------------)r;�EOFErrorr5�thread�interrupt_mainrr0r/r1Zcurrent_threadr)�reprr>rmr:)�selfr?Zclient_addressZerfrrr�handle_errorus&zMyRPCServer.handle_errorN)r�
__module__�__qualname__r�rrrrrMssrMc@sBeZdZddd�Zedd��Zedd��Zed d
��Zdd�Zd
S)� StdioFile�utf-8�strictcCs||_||_||_||_dS)N)�shell�tags� _encoding�_errors)r�r�r��encoding�errorsrrr�__init__�szStdioFile.__init__cCs|jS)N)r�)r�rrrr��szStdioFile.encodingcCs|jS)N)r�)r�rrrr��szStdioFile.errorscCs
d|jS)Nz<%s>)r�)r�rrrr)�szStdioFile.namecCsdS)NTr)r�rrr�isatty�szStdioFile.isattyN)r�r�) rr�r�r��propertyr�r�r)r�rrrrr��s
r�c@seZdZdd�Zdd�ZdS)�
StdOutputFilecCsdS)NTr)r�rrr�writable�szStdOutputFile.writablecCs<|jrtd��t�||j|j��|j|j�}|j�||j �S)Nzwrite to closed file)
�closedr��str�encoder�r��decoder�rr�)r�rrrrr�szStdOutputFile.writeN)rr�r�r�rrrrrr��sr�c@s4eZdZdZdd�Zddd�Zd
dd�Zd d
�ZdS)�StdInputFiler'cCsdS)NTr)r�rrr�readable�szStdInputFile.readabler&cCs�|jrtd��|dkrd}nt|t�s8tdt|�j��|j}d|_|dkrlxb|j� �}|s^P||7}qNWnDx(t
|�|kr�|j� �}|s�P||7}qnW||d�|_|d|�}|S)Nzread from closed filer&zmust be int, not r'r)r�r��
isinstancer-r�rDr�_line_bufferr��readlinerz)r�r��resultrrrr�read�s,
zStdInputFile.readcCs�|jrtd��|dkrd}nt|t�s8tdt|�j��|jpF|j� �}|dkrXt
|�}|�dd|�}|dkrv|d}||d�|_|d|�S)Nzread from closed filer&zmust be int, not r�
rI)r�r�r�r-r�rDrr�r�r�rz�find)r�r�rZeolrrrr��s
zStdInputFile.readlinecCs|j��dS)N)r��close)r�rrrr��szStdInputFile.closeN)r&)r&)rr�r�r�r�r�r�r�rrrrr��s
r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd S)
rNcCs�t|�}|�d|�|�d�|_t|jdtjtj�t_ t
|jdtjtj�t_t
|jdtjd�t_t
jt_ddl}|j|_tj |_t�|�d�|_t
jj|dd d
�dS)Nrw�console�stdin�stdoutr�backslashreplacer�interpg�������?)Zmyseq�wait)� Executive�register�get_remote_proxyr�r�rr�r�rr�r�r�rr�displayhook�pydocZ
plainpagerZpagerZ_keep_stdinr�r��
RPCHandlerZgetresponse)r�Z executiver�rrr�handle�s zMyHandler.handlecCst�d�dS)N�
)rKrL)r�rrr�exithookszMyHandler.exithookcCsdat��dS)NT)r:r�r�)r�rrr�EOFhook szMyHandler.EOFhookcCsdat��dS)NT)r:r�r�)r�rrr�decode_interrupthookszMyHandler.decode_interrupthookN)rr�r�r�r�r�r�rrrrrN�srNc@sNeZdZdd�Zdd�Zdd�Zdd�Zd d
�Zdd�Zd
d�Z ddd�Z
dS)r�cCs&||_tj|_t��|_t��|_dS)N)r{�__main__�__dict__�localsrZCalltiprZAutoComplete)r�r{rrrr�s
zExecutive.__init__c
Cs�y&d|_dazt||j�WddaXWn�tk
r�}z<|jrp|jd}t|td�tf�spt dt
|�tjd�Wdd}~XYnJt�
�|_tr�t�t�|jj�d�}|r�|jj��YnXt�dS)NTFrzSystemExit: )rz<<toggle-jit-stack-viewer>>)�usr_exc_info�
interruptablerwr�r;r*r�rDr-r/r�rrr<r:r6r=r{r�Zgetvarr�Zopen_remote_stack_viewerrp)r��code�eZobZjitrrr�runcodes(
&
zExecutive.runcodecCstrt��dS)N)r�r�r�)r�rrr�interrupt_the_server8szExecutive.interrupt_the_servercCst�|j|�S)N)rZstart_debuggerr{)r�Zgui_adap_oidrrr�start_the_debugger<szExecutive.start_the_debuggercCs|j�|�dS)N)r{Z
unregister)r�Zidb_adap_oidrrr�stop_the_debugger?szExecutive.stop_the_debuggercCs|j�|�S)N)rZ fetch_tip)r�r)rrr�get_the_calltipCszExecutive.get_the_calltipcCs|j�||�S)N)rZfetch_completions)r�Zwhat�moderrr�get_the_completion_listFsz!Executive.get_the_completion_listNcCsr|jr|j\}}}ndSd}|dk r0|j�|�}x|rN|jjddkrN|j}q2W|t_|t_t �
||�}t�|�S)Nr)r�run)
r�r{r��tb_frame� f_globals�tb_nextrrqrrrZ
StackTreeItemrZremote_object_tree_item)r�Z flist_oidrfrurF�flist�itemrrrrIs
zExecutive.stackviewer)N)rr�r�r�r�r�r�r�r�r�rrrrrr�sr�r�)rGzidlelib.idle_test.test_run�)� verbosity)N)NN)F)>r��iorr9rr�rKr>�_threadr�r1rZidlelibrrrrrrrr�rV�hasattr�modules�mod�delattrr r3rrrr!ZTclr$r%r5r:r�rGr2rOr=rcrpr6rWr�r�r�r�Z RPCServerrM�
TextIOBaser�r�r�r�rN�objectr�rZunittestrrrr�<module>sr
M$(!1-C
?>