� {fc@s�ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZddlmZmZyddlTWn1ek r�eddej�ejd�nXddlZdd lmZmZdd lmZdd lmZdd lm Z dd l!m"Z"ddl#m$Z$ddl%m&Z&ddl%m'Z'ddl%m(Z(ddl%m)Z)ddl%m*Z*ej+ej,dZ-dZ.dZ/yddl0m1Z1Wnek r dZ1nXeja2ddl3Z3e4d�Z5e4e4d�Z6e4a7d�Z8e8e9�e4e j:d�Z;e;e _:defd��YZ<defd ��YZ=d!efd"��YZ>d#e fd$��YZ?d%e&j@fd&��YZAd'efd(��YZBd)e"fd*��YZCd+e jDfd,��YZEd-eEfd.��YZFd/eEfd0��YZGd1�ZHd2ZId3�ZJeKd4kr�ejLd4ejLd)>> N(Rtwarning_streamtwriteRtAttributeErrortIOError(RRRRRR((s'/usr/lib64/python2.7/idlelib/PyShell.pytidle_showwarningDs   cCsL|r*tdkrHtjatt_qHntdk rHtt_dandS(s>Replace warning.showwarning with idle_showwarning, or reverse.N(t_warnings_showwarningRtwarningst showwarningR$(tcapture((s'/usr/lib64/python2.7/idlelib/PyShell.pytcapture_warningsWs    cCsotj}i}xBt|�D]4}|d |ddkr|j|�|| entries Rather than repeating the linecache code, patch it to save the entries, call the original linecache.checkcache() (skipping them), and then restore the saved entries. orig_checkcache is bound at definition time to the original method, allowing it to be patched. ii����s<>N(Rtcachetlisttpoptupdate(Rtorig_checkcacheR*tsavetkey((s'/usr/lib64/python2.7/idlelib/PyShell.pytextended_linecache_checkcachefs  tPyShellEditorWindowcBs�eZdZd�ZdddddgZed�Zd�Zdd�Z dd�Z d�Z d�Z d�Z d�Zd�Zd�ZRS(s6Regular text edit window in IDLE, supports breakpointscGs�g|_tj||�|jjd|j�|jjd|j�|jjd|jj�t j j t j �d�|_|jj|d�}|jj|�|jjr�|j�n|j�dS(Ns<>s<>s<>sbreakpoints.lstcSs|j�|�dS(N(trestore_file_breaks(told_hooktself((s'/usr/lib64/python2.7/idlelib/PyShell.pytfilename_changed_hook�s (t breakpointsRt__init__ttexttbindtset_breakpoint_heretclear_breakpoint_heretflistt open_shelltostpathtjoinR t GetUserCfgDirtbreakpointPathtiotfilename_change_hooktset_filename_change_hookRR3tcolor_breakpoint_text(R5targsR6((s'/usr/lib64/python2.7/idlelib/PyShell.pyR8�s      tCuts<>trmenu_check_cuttCopys<>trmenu_check_copytPastes <>trmenu_check_pastesSet Breakpoints<>sClear Breakpoints<>cCse|jdkrdS|r:tj�}tj|d�}nidd6dd6}|jjd|�dS(s,Turn colorizing of breakpoint text on or offNtbreaktt foregroundt backgroundtBREAK(RDRR t CurrentThemet GetHighlightR9t tag_config(R5tcolortthemetcfg((s'/usr/lib64/python2.7/idlelib/PyShell.pyRG�s cCs�|j}|jj}|jdd|d|d�y|jj|�Wn!tk rk|jj|�nXy&|jj j j }|j ||�WnnXdS(NRSs%d.0i( R9RDRttag_addR7tindext ValueErrortappendR=tpyshelltinterptdebuggerR;(R5RR9Rtdebug((s'/usr/lib64/python2.7/idlelib/PyShell.pytset_breakpoint�s   cCsU|j}|jj}|s)|j�dStt|jd���}|j|�dS(Ntinsert(R9RDRtbelltinttfloatR[Rb(R5teventR9RR((s'/usr/lib64/python2.7/idlelib/PyShell.pyR;�s   cCs�|j}|jj}|s)|j�dStt|jd���}y|jj|�WnnX|j ddd�y&|j j j j }|j||�WnnXdS(NRcRSsinsert linestartsinsert lineend +1char(R9RDRRdReRfR[R7tremovet tag_removeR=R^R_R`R<(R5RgR9RRRa((s'/usr/lib64/python2.7/idlelib/PyShell.pyR<�s"    cCs�|jr~|j}|jj}|s2|j�dSg|_|jddt�y#|jjj j }|j |�Wq~q~XndS(NRSs1.0( R7R9RDRRdRitENDR=R^R_R`tclear_file_breaks(R5R9RRa((s'/usr/lib64/python2.7/idlelib/PyShell.pyRk�s     c CsO|j}|jj}y+t|jd��}|j�}WdQXWntk rYg}nXy�t|jd��v}x1|D])}|j|d�sy|j|�qyqyW|j �|j}|r�|j|dt |�d�nWdQXWn`tk rJ}t |j dt �sKt|j _tjddd d t |�d |j�qKnXdS( s#Save breakpoints when file is savedtrNtwt=s tbreakpoint_error_displayedttitles IDLE ErrorRs$Unable to update breakpoint list: %stparent(R7RDRtopenRCt readlinesR#t startswithR!tupdate_breakpointststrtgetattrtroottFalsetTrueRot tkMessageBoxt showerrorR9(R5tbreaksRtold_filetlinestnew_fileRterr((s'/usr/lib64/python2.7/idlelib/PyShell.pytstore_file_breaks�s.       ,  cCs�|jj�|jdkr dS|jj}|dkr<dStjj|j�r�t |jd�j �}x_|D]T}|j |d�rpt |t |�d�}x|D]}|j|�q�WqpqpWndS(NRlRni(R9R-RDRRR?R@tisfileRCRrRsRttevaltlenRb(R5RRRtbreakpoint_linenumberstbreakpoint_linenumber((s'/usr/lib64/python2.7/idlelib/PyShell.pyR3 s     cCs4|j}|jd�}|j|�}||_dS(s3Retrieves all the breakpoints in the current windowRSN(R9t tag_rangestranges_to_linenumbersR7(R5R9trangestlinenumber_list((s'/usr/lib64/python2.7/idlelib/PyShell.pyRus cCs�g}x�tdt|�d�D]f}tt||j��}tt||dj��}x'||kr�|j|�|d7}q^WqW|S(Niii(trangeR�ReRftstringR](R5R�RR[Rtend((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�!s cCs|j�tj|�dS(s7Extend base method - clear breaks when module is closedN(RkRt_close(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�2s (RIs<>RJ(RKs<>RL(RMs <>RNN(sSet Breakpoints<>N(sClear Breakpoints<>N(Rt __module__t__doc__R8Rt rmenu_specsRzRGRbR;R<RkR�R3RuR�R�(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR2}s"      *   tPyShellFileListcBs&eZdZeZdZdd�ZRS(s8Extend base class: IDLE supports a shell and breakpointscCsQ|jr|jjj�n.t|�|_|jrJ|jj�sJdSn|jS(N(R^ttoptwakeuptPyShelltbeginR(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR>As  N(RR�R�R2RRR^R>(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�8stModifiedColorDelegatorcBs2eZdZd�Zd�Zd�Zd�ZRS(s8Extend base class: colorizer for the shell window itselfcCstj|�|j�dS(N(R R8t LoadTagDefs(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR8Os cCs7|jddd�|jddd�tj|�dS(NtTODOs1.0tiomarktSYNC(RiRZR trecolorize_main(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�SscCs{tj|�tj�}|jjiidd6dd6d6tj|d�d6tj|d�d6tj|d�d6�dS(NRRRQtstdintstdouttstderrtconsole(R R�R RTttagdefsR-RRU(R5RX((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�Xs   cCs+x$|jD]}|j|dd�q WdS(NR�R�(R�Ri(R5ttag((s'/usr/lib64/python2.7/idlelib/PyShell.pyt removecolorsbs(RR�R�R8R�R�R�(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�Ls    tModifiedUndoDelegatorcBs&eZdZdd�Zdd�ZRS(s;Extend base class: forbid insert/delete before the I/O markcCs[y-|jj|dd�r,|jj�dSWntk r@nXtj||||�dS(Nt}tj|�yt|�|_PWqtjk rYqXqW|j �dS|jj j �d|_t dkr�|jj jtjtjd�n|j�|jj jd�y|jj�Wntjk r|j�dSX|jjd|j�|jjd|jj�|jjd|jj�|jjd|jj�|jjd |jj�|jjd t�|jjd |�|jd t�|j�|jS( Niiii R�R�R�R�R=RR_twith_cwd( tHOSTR�R�ttimetsleepR�trpcclttsocketterrortdisplay_port_binding_errorRtlistening_sockt getsocknameR�t setsockoptt SOL_SOCKETt SO_REUSEADDRR�t settimeouttacceptttimeouttdisplay_no_subprocess_errortregisterR�R�R�R�R=Rt transfer_pathRztpoll_subprocess(R5taddrti((s'/usr/lib64/python2.7/idlelib/PyShell.pytstart_subprocess�s>      RPcCs�|jr|jSt|_|j�}|rLytj|j�WqLqLXn|jj�|j�|j}|j }t |_ |j �y|jj �Wnt jk r�|j�dSX|jd|�|j�|jjdd�d|r�|nd}t|j�t|�ddd}|jd j||��|jjd d�|jjd d �|su|j�n|r�tj|j�|j�n|j|j j!_"t |_|jS( NR�R�send-1cs RESTART: tShelliiRns {0} {1} {0}trestarttleft(#R�R�Rzt getdebuggerRtclose_subprocess_debuggertclosetunix_terminateR�t executingRyR�R�R�R�R�RR�t stop_readlineR9R�RetwidthR�R!tformattmark_sett mark_gravityt showprompttrestart_subprocess_debuggertload_breakpointsR�R�R�R�(R5R�RRaR�t was_executingR�thalfbar((s'/usr/lib64/python2.7/idlelib/PyShell.pytrestart_subprocess�sH           %   cCs|jjdddi�dS(Ntexectinterrupt_the_server((R�t remotecall(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyt__request_interruptscCstjd|j�j�dS(Nttarget(t threadingtThreadt'_ModifiedInterpreter__request_interrupttstart(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytinterrupt_subprocess scCsp|jdk r(|jjj|j�ny|jj�Wntk rLnX|j�t |j_ d|_dS(N( t_afteridRR�R9t after_cancelR�R�R"R�RyR�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytkill_subprocesss   cCsnttd�rjytj|jt�Wntk r:dSXytj|jd�Wqjtk rfdSXndS(s;UNIX: make sure subprocess is terminated and collect statustkillNi(thasattrR?R R�RtOSErrortwaitpid(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�s  cCsC|r"dg}|jtj�n tj}|jd|f�dS(NRPsRif 1: import sys as _sys _sys.path = %r del _sys (textendR�R@t runcommand(R5R�R@((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�'s   cCs�|j}|dkrdSy|j|jdd�}Wn:tttfk rq|jjr^dSd}|j �nX|rn|jj �d|_|\}}|jj }|dkr�|dk rFt t |�d|�qFnl|dkr|jjd�rF|j�qFn>|dkrFd}t ||dtj�t ||d|�ny|jj�Wqntk rjqnXn|jjs�|jjj|jj|j�|_ndS( Ntwaitg�������?tOKRt EXCEPTIONs<>tERRORs/PyShell.ModifiedInterpreter: Subprocess ERROR: (R�Rt pollresponset active_seqR�R#tKeyboardInterruptR�tclosingR�t resetoutputR�tprinttreprtgetvartremote_stack_viewerR�t __stderr__t endexecutingR"R9taftert pollintervalR�R (R5tclttresponsethowtwhatR�terrmsg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�6s@              cCs ||_dS(N(R`(R5R`((s'/usr/lib64/python2.7/idlelib/PyShell.pyt setdebugger^scCs|jS(N(R`(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�ascCs|jjjd|j�dS(s�Initiate the remote stack viewer from a separate thread. This method is called from the subprocess, and by returning from this method we allow the subprocess to unblock. After a bit the shell requests the subprocess to open the remote stack viewer which returns a static object looking at the last exception. It is queried through the RPC mechanism. i,N(R�R9R"R(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytopen_remote_stack_viewerds c Cs�ddlm}|jjdddi�}|dkrK|jjj�dS|j|j|�}ddl m }m }t |jj�}t j�}t j|d�d}||d |d d �} | jjd d dd�|| jd|�} | j�dS(Ni����(tRemoteObjectBrowserRt stackviewerR=(tScrolledCanvastTreeNodetnormalRRtbgthighlightthicknessitexpanditfilltboth(R=(tidlelibR+R�t remotequeueRR�RxRdtStubObjectTreeItemtidlelib.TreeWidgetR-R.tToplevelR RTRUtframetpacktcanvasR2( R5R+toidtitemR-R.R�RXRRtsctnode((s'/usr/lib64/python2.7/idlelib/PyShell.pyRqs  icCs#|j|�}|j||�dS(s1Like runsource() but assumes complete exec sourceN(t stuffsourcetexecfile(R5tsourceR((s'/usr/lib64/python2.7/idlelib/PyShell.pyt execsource�scCs�|dkr$t|d�j�}nyt||ddt�}WnWttfk r�|jj�t dd|jj �t j ||�|jj �nX|j|�dS(sExecute an existing fileRlRt dont_inheritsB*** Error in script or command! Traceback (most recent call last):RN(RRrtreadR�Rzt OverflowErrort SyntaxErrorR�RRR�RtshowsyntaxerrorR�truncode(R5RRCtcode((s'/usr/lib64/python2.7/idlelib/PyShell.pyRB�s    cCs�|j|�}d|_tj|_tjdddt�t|t�r�t j dkr�y#dt j |j t j �f}Wq�t k r�|j j�|jd�dSXnztj|||�SWd|jdk r�|jtj(d|_nXdS( sBExtend base class method: Stuff the source in the line cache firstitactionR�Rsutf-8s# -*- coding: %s -*- %ss Unsupported characters in input N(RAtmoreR&tfiltersR�tfilterwarningst SyntaxWarningt isinstancetunicodeRtencodingtencodet UnicodeErrorR�RR!Rt runsourceR(R5RCR((s'/usr/lib64/python2.7/idlelib/PyShell.pyRV�s$      cCsSd|j}|jd|_|jd�}t|�dd||ftj|<|S(s"Stuff source in the filename caches is i(tgidtsplitR�RR*(R5RCRR((s'/usr/lib64/python2.7/idlelib/PyShell.pyRA�s  #cCs|jd|f�dS(s>Prepend sys.path with file's directory if not already includeds(if 1: _filename = %r import sys as _sys from os.path import dirname as _dirname _dir = _dirname(_filename) if not _dir in _sys.path: _sys.path.insert(0, _dir) del _filename, _sys, _dirname, _dir N(R(R5R((s'/usr/lib64/python2.7/idlelib/PyShell.pytprepend_syspath�sc Cs|jj}|j�}|r�|\}}}}|dkrMd|d}nd|d|df}|jd|�|j|�|j|�} | r�| tkr�|jd|d|�n|jj�|jdt |��n|jj�t j ||�|jj �dS(s�Extend base class method: Add Colorizing Color the offending position instead of printing it and pointing at it with a caret. isiomark + %d charss&iomark linestart + %d lines + %d charsRs wordstartsSyntaxError: %s N( R�R9t unpackerrorRZtseetgett IDENTCHARSRR!RvRRIR�( R5RR9tstufftmsgRtoffsetRtpostchar((s'/usr/lib64/python2.7/idlelib/PyShell.pyRI�s$      c Cs�tj�\}}}|tk}|rey+|\}\}}}} |sQd}nWqed}qeXn|r{|||| fSdSdS(Ni(R�texc_infoRHR( R5R�tvaluettbtokR_tdummy_filenameRR`R((s'/usr/lib64/python2.7/idlelib/PyShell.pyRZ�s   cCsJ|jj�|j�tj|�|jjd�rF|jj�ndS(s1Extend base class method to reset output properlys<>N(R�RtchecklinecacheRt showtracebackRtopen_stack_viewer(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRi�s    cCsFtj}x6|j�D](}|d |ddkr||=qqWdS(Nii����s<>(RR*tkeys(R5tcR0((s'/usr/lib64/python2.7/idlelib/PyShell.pyRh�s cBsQ|jjr|j�dS|jrB|jjdd|fi�n ||jUdS(s*Run the code without invoking the debuggeriRRJi(R�R�tdisplay_executing_dialogR�R6R�(R5RK((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�s    cBs�|jjr|jj�n|j�|jd k rN|jej(d |_n|j }zGyr|jj �| r�|j d k r�|j j dd|fi�|_ n'|r�|j||j�n ||jUWn�ek r%|jjsejddddd|jj�r�q"|j�q��nxer^edd |jj�|j�|jj�q�|jjr�e|j_ed d |jj�q�|j�nXWd es�y|jj�Wq�ek r�q�XnXd S( sOverride base class methodRRJsExit?sDo you want to exit altogether?R�tyesRqs IDLE internal error in runcode()RRN(R�R�R_R�RhR�RR&RNR`tbeginexecutingR�t asyncqueueRtrunR�t SystemExitRR{taskyesnoR9Rituse_subprocessRR�R!tcanceledRyR"(R5RKR`((s'/usr/lib64/python2.7/idlelib/PyShell.pyRJ sR               cCs|jjj|�dS(sOverride base class methodN(R�R�R!(R5R((s'/usr/lib64/python2.7/idlelib/PyShell.pyR!;scCs tjddd|jj�dS(NsPort Binding ErrorsAIDLE can't bind to a TCP/IP port, which is necessary to communicate with its Python execution server. This might be because no networking is installed on this computer. Run IDLE with the -n command line switch to start without a subprocess and refer to Help/IDLE Help 'Running without a subprocess' for further details.Rq(R{R|R�R9(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�?scCs tjddd|jj�dS(NsSubprocess Startup Errors�IDLE's subprocess didn't make connection. Either IDLE can't start a subprocess or personal firewall software is blocking the connection.Rq(R{R|R�R9(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�JscCs tjddd|jj�dS(NsAlready executingsYThe Python Shell window is already executing a command; please wait until it is finished.Rq(R{R|R�R9(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRmRsN((RR�R8RR R�R�R�R�R�RyR�RR R R�R�RR�R`R)R�R*RRWRDRBRVRARYRIRZRiRhRRJR!R�R�Rm(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��sH    +-     &            1  R�cBs�eZde�dZeZeZd2d3d4d5d6d7gZddl m Z d8d�Z d�Z eZeZeZeZeZeZd�Zd�Zd8d�Zd�Zd8d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!dZ"d �Z#d!�Z$d"�Z%d#�Z&d8d$�Z'd%�Z(d&�Z)d'�Z*d(�Z+d)�Z,d8d*�Z-d8d+�Z.d8d,�Z/d-�Z0d.�Z1d9d/�Z2d0�Z3d1�Z4RS(:sPython s ShellRt_Fileteditt_EditRat_Debugtoptionst_Optionstwindowst_Windowthelpt_Helpi����(tHistorycCsatr9|j}|dddkr9|jdd�q9nt|�|_|dkr�t�}t|�|j�t |�}nt j ||dd�t |_ d|_t |_|j}|jdd�|jd|j�|jd |j�|jd |j�|jd |j�|jd |j�|jd |j�|jd|j�tr~|jd|j�|jd|j�ntj|_tj|_ tj!|_"ddl#m$}t%|d|j&�|_!t'|d|j&�|_t'|d|j&�|_t'|d|j&�|_(ts?|jt_|jt_|j!t_!n|j)|j�|_*d|_+dS(NiitshelltShe_llitwrapRbs<>s<>s<>s<>s<>s<>s<>s<>s<>i����(RR�R�R�R�i2(R�R�(,Rtt menu_specsRcR�R_RtTkRtwithdrawR�R R8Rztusetabst indentwidthtcontext_use_ps1R9t configureR:tenter_callbacktlinefeed_callbacktcancel_callbackt eof_callbackRjttoggle_debuggerttoggle_jit_stack_viewertview_restart_markt restart_shellR�R�t save_stdoutR�t save_stderrR�t save_stdinR5RtPseudoInputFileRStPseudoOutputFileR�R�thistoryR#(R5R=tmsRxR9R((s'/usr/lib64/python2.7/idlelib/PyShell.pyR8psP              cCstjdt�S(Nt shell_only(R t GetExtensionsRz(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytget_standard_extension_names�scCs |adS(N(R (R5tstream((s'/usr/lib64/python2.7/idlelib/PyShell.pytset_warning_stream�scCstS(N(R (R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytget_warning_stream�scCs`|jr0tjddd|j�|j�dS|jj�}|rR|j�n |j�dS(NsDon't debug nows*You can only toggle the debugger when idleRqRO( R�R{R|R9tset_debugger_indicatorR_R�tclose_debuggert open_debugger(R5Rgtdb((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s     cCs%|jj�}|jd| �dS(Ns<>(R_R�tsetvar(R5R�((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��scCsdS(N((R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��scCs�|jj�}|r�|jjd�|j�|jjrQtj|jj�n|j�|j j d�dt _ |j �n|j�dS(Ns [DEBUG OFF] s>>> (R_R�R)RR�R�Rtclose_remote_debuggerRR�R!R�tps1R�R�(R5R�((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s     cCsq|jjr'tj|jj|�}ntj|�}|jj|�|j�dt_|j �|j �dS(Ns[DEBUG ON] >>> ( R_R�Rtstart_remote_debuggerRR)R�R�R�R�R�(R5tdbg_gui((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s     cCs|j�d|_dS(sHelper for ModifiedInterpreteriN(RR�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRo�s cCs d|_d|_|j�dS(sHelper for ModifiedInterpreteriN(R�RuR�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR!�s  cCsf|jr=tjddddd|j�}|tkr=dSn|j�t|_t|_t j |�S(sExtend EditorWindow.close()sKill?s7Your program is still running! Do you want to kill it?R�RfRqtcancel( R�R{t askokcancelR9RyR�RzRuRRR�(R5R%((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s      cCs||j�tr |jj�n|jt_|jt_|j t_ d|_d|_ d|j _d|_tj|�dS(sEExtend EditorWindow._close(), shut down debugger and execution serverN(R�RtR_R R�R�R�R�R�R�R�RR�R=R^R�RR�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s        cCstS(s8Override EditorWindow method: never remove the colorizer(Rz(R5R((s'/usr/lib64/python2.7/idlelib/PyShell.pytispythonsource scCs|jS(N(t shell_title(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyt short_titlessHType "help", "copyright", "credits" or "license()" for more information.cCs�|j�tr<d}|jj�}|sB|j�tSnd}|jdtjtj |j |f�|j j �|j �ddl}d|_tS(NRPs==== No Subprocess ====sPython %s on %s %s %si����(RRtR_R�R�RyR!R�tversionR�t COPYRIGHTR9t focus_forceR�tTkinterRt _default_rootRz(R5tnosubtclientR�((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�s       cCs'|js dSt|_|jj�dS(N(treadingRzt_stop_readline_flagR�tquit(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�'s  cCs|j}zd|_|jj�Wd||_X|jrFt|_dS|jjdd�}t|�dkrvd}nt|t �r�ddl m }y|j |j �}Wq�tk r�q�Xn|j�|jr�d|_ts�t�q�n|jr d|_d}n|S( NiRPR�send-1cis i����(R(R�R�tmainloopR�RyR9R\R�RQRRR5RRTRSRURRuRtRt endoffile(R5R/RR((s'/usr/lib64/python2.7/idlelib/PyShell.pytreadline-s4              cCstS(N(Rz(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytisattyJscCs�y |jjddd�rdSWnnX|jp9|jsd|j�|jjd�|j�dSd|_d|_ |jr�|jj r�|jj �r�|jj �q�|jj �n|jr�|jj�ndS(Ns sel.firsts!=ssel.lastsKeyboardInterrupt ROii(R9R�R�R�RR_R!R�R�RuR�R�R�R R�R�(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�Ms&     cCs�|jr|j rdS|jjddd�oD|jjddd�sKdS|jsk|j�|j�nd|_d|_|jj �dS(NR�s==Rcsend-1ciiRO( R�R�R9R�RR�RuR�R�R�(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�cs      cCs@|jr/|jjdd�|jjd�n |j|�dS(NRcs RO(R�R9RcR[tnewline_and_indent_event(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�rs   cCs�|jr|j rdSyN|jjdd�}|rd|jjddd�rd|j||�dSnWnnX|jjddd�r�|jjd d�}|r�|jjdd|d �r�|j|jj|d |d �|�dS|jjd d�}|rK|jjd d |d �rK|j|jj|d |d �|�dS|jjdd�}|r�|jj|d dd�r�|j|jj|d d �|�n|j|jjdd �|�dS|jjddd�r�|jjdd�n|jjdd�}|r7|j � r7|jj dd�n|jjddd�r`|j |�dS|jjdd�|jr�|jj dd�|jj d�n |j |�|jjd dd�|jj�|jr�|jj�n |j�dS(Ns sel.firstssel.lasts<=R�RORcR�siomark linestartR�iisinsert lineends>=R�sinsert linestartsend-1csend-1c linestarts (R�R�R9R\R�trecallt tag_prevranget tag_nextrangeR�RR�R�RcR[RZtupdate_idletasksR�R�trunit(R5RgtseltprevtnexttindicesR((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�{sX "'"'&      cCs�tjdd|�}tjdd|�}|jd�}|jj�z@|jjddd�|jjdd �|jjd d�}|j�j d �r�|j |�|jjd d�}n|jj d|d j ��t |�d kr�tjd|d �jd �}tjd|�jd �}xX|d D]I}|j|�ra||t |�}n|jj dd|j��q5WnWd|jjd�|jj�XdS(Ns^\s*\nRPs\n\s*$s R�s1.0R�Rcsend-1csinsert linestartt:iis ^([ \t]*)(tretsubRXR9tundo_block_startRiR�R\trstriptendswithR�RcRR�tsearchtgroupRtR[tundo_block_stop(R5RRgRtprefixtorig_base_indenttnew_base_indentR((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s*  (cCs�|jjdd�}t|�}x.|dkrQ||ddkrQ|d}q$W|dkr||ddkr|d}nx.|dkr�||ddkr�|d}q�W|| }|jj|�dS(NR�send-1ciis s (R9R\R�R_RV(R5RR�((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s #  # cCso|jjr|jj�Sy tjWn!tjddd|j�dSXddlm }||j |j �dS(NsNo stack traces@There is no stack trace yet. (sys.last_traceback is not defined)Rqi����(t StackBrowser( R_R�RR�tlast_tracebackR{R|R9tidlelib.StackViewerR�RxR=(R5RgR�((s'/usr/lib64/python2.7/idlelib/PyShell.pyRj�s     cCs$|jjd�|jjd�dS(NR�R�(R9R[(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��scCs|jjdt�dS(s&Callback for Run/Restart Shell Cntl-F6R�N(R_R�Rz(R5Rg((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��scCsk|j�yttj�}Wn d}nX|jj|�|jjdd�|j�|j j �dS(NRPRcsend-1c( RRvR�R�R�R!R9R�tset_line_and_columnRDt reset_undo(R5R((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s   cCs�|jjdd�}|jr1|jj|�n|jjd�dkr_|jjdd�n|jjdd�|j�dtj_ dS(NR�send-1csend-2cs i( R9R\R�tstoreRcR�R�R�R�t softspace(R5RC((s'/usr/lib64/python2.7/idlelib/PyShell.pyRs  cCsry@|jjdd�tj|||d�|jjdd�WnnX|jrnd|_tsnt�qnndS(NR�trightR�i(R9R�R R!RuRtR(R5RR�((s'/usr/lib64/python2.7/idlelib/PyShell.pyR! s  cCsHy |jjddd�rdSWntk r4dSXtt|�j�S(Ns sel.firstR�R�tdisabled(R9R�R�tsuperR�RJ(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRJs  cCs/|jjddd�rdStt|�j�S(NRcR�R�R�(R9R�R�R�RN(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRN!s(RRv(RwRx(RaRy(RzR{(R|R}(R~RN((5RR�RR�R�R R�R R�tidlelib.IdleHistoryR�RR8R�RyR�R�RuR�RR�R�R�R�R�R�R�R�RoR!R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RjR�R�R�RR!RJRN(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�Zsd  2                   ?      t PseudoFilecBs;eZdd�Zed��Zed��Zd�ZRS(cCs(||_||_d|_||_dS(Ni(R�R�R�t _encoding(R5R�R�RS((s'/usr/lib64/python2.7/idlelib/PyShell.pyR8(s   cCs|jS(N(R�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyRS.scCs d|jS(Ns<%s>(R�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytname2scCstS(N(Rz(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�6sN(RR�RR8tpropertyRSR�R�(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�&s R�cBseZd�Zd�ZRS(cCstS(N(Rz(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytwritable<scCs�|jrtd��nt|�tttfkr�t|t�r]tj|td��}q�t|t�r~tj |�}q�t|t�r�tj |�}q�t dt|�j ��n|j j||j�S(Nswrite to closed filesmust be string, not (tclosedR\R�RRRvt bytearrayRQt __getitem__tsliceRt__str__t TypeErrorRR�R!R�(R5R((s'/usr/lib64/python2.7/idlelib/PyShell.pyR!?s (RR�R�R!(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�:s R�cBs>eZdd�Zd�Zdd�Zdd�Zd�ZRS(cCs#tj||||�d|_dS(NRP(R�R8t _line_buffer(R5R�R�RS((s'/usr/lib64/python2.7/idlelib/PyShell.pyR8QscCstS(N(Rz(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pytreadableUsi����cCs|jrtd��n|dkr-d}n1t|ttf�s^tdt|�j��n|j }d|_ |dkr�x�t r�|j j �}|s�Pn||7}qWnSx9t |�|kr�|j j �}|s�Pn||7}q�W|||_ || }|S(Nsread from closed filei����smust be int, not RPi(R�R\RRQRetlongR�R�RR�RzR�R�R�(R5tsizetresultR((s'/usr/lib64/python2.7/idlelib/PyShell.pyRFXs,         cCs�|jrtd��n|dkr-d}n1t|ttf�s^tdt|�j��n|j ps|j j �}|dkr�t |�}n|j dd|�}|dkr�|d}n|||_ || S(Nsread from closed filei����smust be int, not is i(R�R\RRQReR�R�R�RR�R�R�R�tfind(R5R�Rteol((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�os       cCs|jj�dS(N(R�R�(R5((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�sN(RR�RR8R�RFR�R�(((s'/usr/lib64/python2.7/idlelib/PyShell.pyR�Os     cCsJ|jdkrFx4dD])}|j|dd|j|d��qWndS( s6Make paste replace selection on x11. See issue #5124.tx11tTexttEntrytSpinboxs <>s%catch {%W delete sel.first sel.last} N(R�R�R�(t_windowingsystemt bind_class(Rxtcls((s'/usr/lib64/python2.7/idlelib/PyShell.pyt fix_x11_paste�s s� USAGE: idle [-deins] [-t title] [file]* idle [-dns] [-t title] (-c cmd | -r file) [arg]* idle [-dns] [-t title] - [arg]* -h print this help message and exit -n run IDLE without a subprocess (see Help/IDLE Help for details) The following options will override the IDLE 'settings' configuration: -e open an edit window -i open a shell window The following options imply -i and will open a shell: -c cmd run the command in a shell, or -r file run script from file -d enable the debugger -s run $IDLESTARTUP or $PYTHONSTARTUP before anything else -t title set title of shell window A default edit window will be bypassed when -c, -r, or - are used. [arg]* are passed to the command (-c) or script (-r) in sys.argv[1:]. Examples: idle Open an edit window or shell depending on IDLE's configuration. idle foo.py foobar.py Edit the files, also open a shell if configured to start with shell. idle -est "Baz" foo.py Run $IDLESTARTUP or $PYTHONSTARTUP, edit foo.py, and open a shell window with the title "Baz". idle -c "import sys; print sys.argv" "foo" Open a shell window and run the command, passing "-c" in sys.argv[0] and "foo" in sys.argv[1]. idle -d -s -r foo.py "Hello World" Open a shell window, run a startup script, enable the debugger, and run foo.py, passing "foo.py" in sys.argv[0] and "Hello World" in sys.argv[1]. echo "import sys; print sys.argv" | idle - "foobar" Open a shell window, run the script piped in, passing '' in sys.argv[0] and "foobar" in sys.argv[1]. cCs#tt�tat}t}t}d}d}t}y#tjtjdd�\}}Wn@tjk r�}t d|t fdtj �tj d�nXx;|D]3\} } | dkr�| }t}n| dkr�t}t}n| dkr�t}n| d kr!tj jt �tj �n| d kr6t}n| d krKtan| d kr�| }tjj|�rrn t d |dtj �tj �t}n| dkr�t}t}n| dkr�| t_t}q�q�W|r|ddkrtjj�}t}nx=tttj��D]&} tjjtj| �tj| �n|rQtj?j@d0�p tj?j@d1�} | rQtjj| �rQ|jAjB| �qQn|s]|r�|jAjCd2tjf�|r�|jAjD|�q�|r�|jAjE|�|jAjB|�q�n5|r�t2jFt �}|r�|jAjCd3|�q�nxt1jGr t jH�q�Wt jI�tt�dS(5Nis c:deihnr:st:s Error: %s %sRis-cs-ds-es-hs-is-ns-rsNo script file: s-ss-tit-RPR�R�seditor-on-startupR�R�t classNametIdlei����(t fix_scalingtIconstWindowssidle.icoR�g!@tdarwing333333!@s.pngs.gifii i0s idle_%d%stwmt iconphotos-defaultR�ss s<>t IDLESTARTUPt PYTHONSTARTUPsbif 1: import sys as _sys _sys.argv = %r del _sys s print('%s')(ii i0(JR)RzRtRyRtgetoptR�targvR�Rt usage_msgR�texitR�R!R?R@R�R�R�R�RFR�R�tabspathR]tdirnameRctgetcwdR R�R�RxR�t idlelib.runR�RAt__file__Rt wm_iconbitmapt TkVersionR�t PhotoImagettktcallRvRR�R�R=RtsetupApptisAquaTkt unbind_classRrRhtnewR>tdictR�tlowerR^R�tenvironR\R_RBRRDRYttkVersionWarningt inversedictR�tdestroy(t enable_shellt enable_editRatcmdtscripttstartuptoptsRHR_totaR�tpathxRtdirt edit_startR�ticondirticonfiletextR�t iconfilesticonsR�ttkversionwarning((s'/usr/lib64/python2.7/idlelib/PyShell.pyR��s #                     $        !/"%            R�(Nt __future__RR?tos.pathR�R�RR�R�R�RRDRRKRR�RRR�t ImportErrorRR RR{tidlelib.EditorWindowRRtidlelib.FileListRtidlelib.ColorDelegatorR tidlelib.UndoDelegatorR tidlelib.OutputWindowR tidlelib.configHandlerR R5R RRRRt ascii_letterstdigitsR]R�R�tsignalRR R&RRR$R%R)Rzt checkcacheR1R2R�R�R�t RPCClientR�R�R�t TextIOBaseR�R�R�R�RR�RR�Ry(((s'/usr/lib64/python2.7/idlelib/PyShell.pyts�                      �����4 > �