ó {fc@sÙddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddlm Z ddlm Z ddlm Z ddlm Z ddlmZddlmZdd lmZddlZd ZddlZddd „Zdad „Zeeƒeaeaeaed „Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$dej%fd„ƒYZ&dej'fd„ƒYZ(de)fd„ƒYZ*eeƒdS(iÿÿÿÿN(tCallTips(t AutoComplete(tRemoteDebugger(tRemoteObjectBrowser(t StackViewer(trpc(tPyShell(t IOBindings 127.0.0.1cCsV|dkrtj}ny&|jtj|||||ƒƒWntk rQnXdS(suShow Idle-format warning after replacing warnings.showwarning. The only difference is the formatter called. N(tNonetsyststderrtwriteRtidle_formatwarningtIOError(tmessagetcategorytfilenametlinenotfiletline((s#/usr/lib64/python2.7/idlelib/run.pytidle_showwarning_subprocs    cCsL|r*tdkrHtjatt_qHntdk rHtt_dandS(sFReplace warning.showwarning with idle_showwarning_subproc, or reverse.N(t_warnings_showwarningRtwarningst showwarningR(tcapture((s#/usr/lib64/python2.7/idlelib/run.pytcapture_warnings*s    c Csæ|ayttjdƒ}WntjdIJdSXttƒdgtj(tjdt dddt |ffƒ}|j tƒ|j ƒxUy¢t r»y tƒWq»tk r·w�q»Xny%tjjd td d ƒ\}}Wntjk rùw�nX|\}}}|||Ž}tjj||fƒWq�tk rTtr�ta q�q�q�tk rqttƒ‚q�tjƒ\} } } y!tƒtjj|dfƒWq�tj| | | d tjƒtƒqÞXq�q�Xq�WdS( sjStart the Python execution server in a subprocess In the Python subprocess, RPCServer is instantiated with handlerclass MyHandler, which inherits register/unregister methods from RPCHandler via the mix-in class SocketIO. When the RPCServer 'server' is instantiated, the TCPServer initialization creates an instance of run.MyHandler and calls its handle() method. handle() instantiates a run.Executive object, passing it a reference to the MyHandler object. That reference is saved as attribute rpchandler of the Executive instance. The Executive methods have access to the reference and can pass it on to entities that they command (e.g. RemoteDebugger.Debugger.start_debugger()). The latter, in turn, can call MyHandler(SocketIO) register/unregister methods via the reference to register and unregister themselves. iÿÿÿÿs/IDLE Subprocess: no IP port passed in sys.argv.Ntttargettnamet SockThreadtargstblockttimeoutgš™™™™™©?R(t no_exitfunctintR targvR RtTruet threadingtThreadt manage_sockett LOCALHOSTt setDaemontstarttexit_nowtexittKeyboardInterruptRt request_queuetgettQueuetEmptytresponse_queuetputtquittingt SystemExittFalsetexc_infotprint_exceptionRt tracebackt __stderr__( t del_exitfunctportt sockthreadtseqtrequesttmethodRtkwargstretttypetvaluettb((s#/usr/lib64/python2.7/idlelib/run.pytmainAsV        %     cCsŸxŽtdƒD]\}tj|ƒyt|tƒ}PWq tjk rh}tjd|j ddIJq Xq WtjdIJt ||ƒt a dS|j ƒdS(NisIDLE Subprocess: socket error: is, retrying....s8IDLE Subprocess: Connection to IDLE GUI failed, exiting.(trangettimetsleept MyRPCServert MyHandlertsocketterrorR R:Rtshow_socket_errorR$R+thandle_request(taddresstitserverterr((s#/usr/lib64/python2.7/idlelib/run.pyR'ˆs   cCs�ddl}ddl}|jƒ}t|ƒ|jƒ|jddkrnd|}|jd|d|ƒn!|jdd|jdd|ƒ|jƒdS( Niÿÿÿÿii=s¿IDLE's subprocess can't connect to %s:%d. This may be due to your personal firewall configuration. It is safe to allow this internal connection because no data is visible on external ports.sIDLE Subprocess ErrortparentsSocket Error: %si(tTkintert tkMessageBoxtTkt fix_scalingtwithdrawRt showerrortdestroy(RSRPRURVtroottmsg((s#/usr/lib64/python2.7/idlelib/run.pyRNšs      c CsÇddl}|jƒtƒtj}tjƒ\}}}}|\t_t_t_t j |ƒ}|dIJd }t ||ƒt j |d |ƒt j ||ƒ}x|D]} || Iq¯WdS( Niÿÿÿÿs# Traceback (most recent call last):srun.pysrpc.pys threading.pysQueue.pysRemoteDebugger.pysbdb.pyR(srun.pysrpc.pys threading.pysQueue.pysRemoteDebugger.pysbdb.py(t linecachet checkcachet flush_stdoutR R R7t last_typet last_valuetlast_tracebackR9t extract_tbtcleanup_tracebackt print_listtformat_exception_only( R^tefilettyptvalREtexcinfottbetexcludetlinesR((s#/usr/lib64/python2.7/idlelib/run.pyR8«s      c Cs‡|}x>|rGx*|D]!}|ddj|ƒrPqqWP|d=q Wx>|rˆx*|D]!}|ddj|ƒrXPqXqXWP|d=qKWt|ƒdkr³||(tjdIJntjdj}x½tt|ƒƒD]©}||\}}}} |dkrd}n|jdƒr2t j dkr2|d 8}n| ri|jdƒri|j d d ||fiƒ} n|||| f||override SocketIO method - wait for MainThread to shut us downi N(RHRI(R•((s#/usr/lib64/python2.7/idlelib/run.pytexithook4scCstatjƒdS(sEOverride SocketIO method - terminate wait on callback and exit threadN(R$R4R�R�(R•((s#/usr/lib64/python2.7/idlelib/run.pytEOFhook8scCstatjƒdS(sinterrupt awakened threadN(R$R4R�R�(R•((s#/usr/lib64/python2.7/idlelib/run.pytdecode_interrupthook>s(R™RšR©RªR«R¬(((s#/usr/lib64/python2.7/idlelib/run.pyRKs   R cBsSeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z RS( cCs7||_tj|_tjƒ|_tjƒ|_dS(N(Rut__main__t__dict__tlocalsRtcalltipRt autocomplete(R•Ru((s#/usr/lib64/python2.7/idlelib/run.pyt__init__Gs  cBs¥y,d|_eaz||jUWdeaXWnkek r?nbejƒ|_e rae ƒne ƒ|j j jdƒ}|r¡|j jjƒq¡nXeƒdS(Ns<>(Rt usr_exc_infoR$t interruptableR¯R6R5R R7R4R,R8RuR›tgetvarR�topen_remote_stack_viewerR`(R•tcodetjit((s#/usr/lib64/python2.7/idlelib/run.pytruncodeMs"    cCstrtjƒndS(N(R´R�R�(R•((s#/usr/lib64/python2.7/idlelib/run.pytinterrupt_the_serverescCstj|j|ƒS(N(Rtstart_debuggerRu(R•t gui_adap_oid((s#/usr/lib64/python2.7/idlelib/run.pytstart_the_debuggeriscCs|jj|ƒdS(sDUnregister the Idb Adapter. Link objects and Idb then subject to GCN(Rut unregister(R•t idb_adap_oid((s#/usr/lib64/python2.7/idlelib/run.pytstop_the_debuggerlscCs|jj|ƒS(N(R°t fetch_tip(R•R((s#/usr/lib64/python2.7/idlelib/run.pytget_the_calltippscCs|jj||ƒS(N(R±tfetch_completions(R•twhattmode((s#/usr/lib64/python2.7/idlelib/run.pytget_the_completion_listsscCs¦|jr|j\}}}ndSd}|dk rI|jj|ƒ}nx)|rt|jjddkrt|j}qLW|t_|t_ t j ||ƒ}t j |ƒS(NR™Rtrun(RRÇ(R³RRuR¢ttb_framet f_globalsttb_nextR RaRbRt StackTreeItemRtremote_object_tree_item(R•t flist_oidRiRjREtflisttitem((s#/usr/lib64/python2.7/idlelib/run.pyt stackviewervs     N( R™RšR²R¹RºR½RÀRÂRÆRRÐ(((s#/usr/lib64/python2.7/idlelib/run.pyR Es       (+R R^RHRLR9R�R%R0tidlelibRRRRRRRRR­R(RRRRRR$R6R+R4R´RFR'RNR8ReR`R,RXt RPCServerRJR¦RKtobjectR (((s#/usr/lib64/python2.7/idlelib/run.pytsJ             G    !   &@