; ~Bc@sIdkZdkZdkZdkZdkZdkZdkZdklZdk l Z l Z l Z l Z l Z lZlZlZdZdZdZdeifdYZdefdYZd d Zd e fd YZed joReiZeiedd Zei eeZ!e!i"eei#ndS(N(s xmlrpclib(s DebugClientsMultiThreadedDebugClientsEmptyResponseErrors DebuggerTasksEVT_DEBUGGER_STARTswxEVT_DEBUGGER_STARTswxEVT_DEBUGGER_EXCswxEVT_DEBUGGER_STOPPEDiisTransportWithAuthcBs,tZdZdZdZedZRS(s{Adds a proprietary but simple authentication header to the RPC mechanism. NOTE: this requires xmlrpclib version 1.0.0.cCs ||_dS(N(sauthsselfs_auth(sselfsauth((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys__init__scCs*tii|||id|idS(NsX-Auth(s xmlrpclibs Transportssend_user_agentsselfs connections putheaders_auth(sselfs connection((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pyssend_user_agentscCsd}|i\}}xrnoj|o|id}n|i d}| oPnd}|i odGt |GHn|i |q"W|i | o tdn|i |i SdS(Niiisbody:s$Empty response from debugger process(sgot_datasselfs getparserspsussocksrecvsresponsesfsreadsverbosesreprsfeedsclosesEmptyResponseError(sselfsfssocksgot_dataspsusresponse((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysparse_responses$    (s__name__s __module__s__doc__s__init__ssend_user_agentsNonesparse_response(((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysTransportWithAuths   s UnknownErrorcBstZRS(N(s__name__s __module__(((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys UnknownError7sscCstiitiitd} ti}d|| |f}y&t i |t i |}d}|io|i} |i}d}x|io|iddjotid| io|| id}n|io{|i}to;tiitiitd}t|d i |n|i!d}x|d i# o |d =qPWy|d i!d \} }Wnt&j o qnXx(|o|d d d jo |d =qW|od|d i#} nd} y*t(| i#|i#| f\}}Wn=t+j o1t,| i#d |i#| f\}}nX||qqWnt- o|i.n|io|i#}| o t/dn|i#i!\}} t2oFdk3l4}d}d}||||ftid|}nt7| }t9i:dt;||}|| |||fSn t/dWn/|io|i.n|i=nXdS(siReturns an xmlrpclib.Server, a connection to an xml-rpc server, and the input and error streams. sChildProcessServerStart.pys %s "%s" %sss if1.0000000000000001e-05isDebugTracebacks.txtsais:is File s (%s)s*The debug server address could not be read(sstart_new_threadiNcCs'tidt|t|fdS(Nstcpwatch -L %d:127.0.0.1:%d(sosssystemsintsport1sport2(sport1sport2((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys run_tcpwatch~sishttp://127.0.0.1:%ds The debug server failed to startN(>sosspathsjoinsdirnames__file__s script_fns PreferencessgetPythonInterpreterPaths pyIntpPathsargsscmdswxsExecutes EXEC_NOHIDEsprocessspidslinesmonitorsisAlivesGetInputStreamsistreamsGetErrorStreamsestreamserrsfindstimessleepsCanReadsreadsLOG_TRACEBACKSsfnsopenswritessplitserrlinessstripsexctypesexcvalues ValueErrorserrfiles __builtins__sErrorsvalsKeyErrors UnknownErrorsKEEP_STREAMS_OPENs CloseOutputs RuntimeErrorsportsauths USE_TCPWATCHsthreadsstart_new_threadsnew_ports run_tcpwatchsTransportWithAuthstranss xmlrpclibsServersintsserverskill(smonitorsprocesssargss pyIntpPaths run_tcpwatchspidsstart_new_threadsportsvalsexctypesistreamserrfilesauths script_fnserrlinessErrorslinesnew_portsfnsestreamserrscmdsserversexcvaluestrans((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys spawnChild:s     #    !  */           sChildProcessClientcBstZeZdZeZeZeZeZddZ fefdZ dZ dZ dZ dZd Zd Zd ZRS( NiscCs9||_ti|||it|id|idS(Nsid( s process_argssselfs DebugClients__init__swinsBindsEVT_DEBUGGER_STARTsOnDebuggerStartswin_id(sselfswins process_args((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys__init__s cCsit|||||}|itjo-|i t }|i ||i |n|ii|dS(N(s DebuggerTasksselfsm_namesm_argssr_namesr_argsstasksserversNones createEventswxEVT_DEBUGGER_STARTsevtsSetTasks postEvents taskHandlersaddTask(sselfsm_namesm_argssr_namesr_argsstasksevt((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysinvokeOnServers  cCs&t|i|}||}|SdS(N(sgetattrsselfsserversm_namesmsm_argssresult(sselfsm_namesm_argssmsresult((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysinvokes cCs|itj SdS(N(sselfsprocesssNone(sself((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysisAlivescCs|i}|tj o)|d}|ii|t|_nt|_t|_|i}t|_|tj ot o|i qndS(NcCs1y|iWnttifj onXdS(N(sservers exit_debuggersEmptyResponseErrorssocketserror(sserver((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys call_exits( sselfsserversNones call_exits taskHandlersaddTasks input_streams error_streamsprocesssKEEP_STREAMS_OPENs CloseOutput(sselfs call_exitsprocesssserver((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pyskills         cCsd}|i}|tj o |io|i}nd}|i}|tj o |io|i}n||fSdS(Ns( s stderr_textsselfs error_streamsstreamsNonesCanReadsreads stdin_texts input_stream(sselfs stderr_textsstreams stdin_text((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys pollStreamss  cCs |iSdS(sNReturns the process ID if this client is connected to another process.N(sselfs processId(sself((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys getProcessIdscCsyzgtiy|itjo~ti|i|i}|i ||_ti |i|i|i t |||i \|_|_|_|_|_n|ii|iWnti\}}}|it}|i|||i|to\dk }t!i"i#t!i"i$t%d}t'|di(di#|i)|||n~nXWdti*XdS(NsDebugTracebacks.txtsas(+swxsBeginBusyCursorsselfsserversNonesProcesss event_handlerswin_idsprocesssRedirectsEVT_END_PROCESSsOnProcessEndeds spawnChilds process_argss input_streams error_streams processIds pyIntpPaths taskHandlersaddTasksevtsGetTaskssyssexc_infostsvstbs createEventswxEVT_DEBUGGER_EXCsSetExcs postEventsLOG_TRACEBACKSs tracebacksosspathsjoinsdirnames__file__sfnsopenswritesformat_exceptions EndBusyCursor(sselfsevtsprocessstbs tracebackstsvsfn((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysOnDebuggerStarts.    7  !2 cCs=|it|_|i|it}|i|dS(N( sselfs pollStreamssNonesserverskills createEventswxEVT_DEBUGGER_STOPPEDsevts postEvent(sselfsevt((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysOnProcessEndeds    (s__name__s __module__sNonesservers processIdsprocesss input_streams error_streams pyIntpPaths__init__sinvokeOnServersinvokesisAliveskills pollStreamss getProcessIdsOnDebuggerStartsOnProcessEnded(((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pysChildProcessClients      s__main__i($sosssysstimessocketswxs PreferencessUtilss ExternalLibs xmlrpclibs DebugClientsMultiThreadedDebugClientsEmptyResponseErrors DebuggerTasksEVT_DEBUGGER_STARTswxEVT_DEBUGGER_STARTswxEVT_DEBUGGER_EXCswxEVT_DEBUGGER_STOPPEDsKEEP_STREAMS_OPENs USE_TCPWATCHsLOG_TRACEBACKSs TransportsTransportWithAuths Exceptions UnknownErrors spawnChildsChildProcessClients__name__s PySimpleAppsasFramesNonesfsShowscpcsOnDebuggerStartsMainLoop(s PreferencessMultiThreadedDebugClients spawnChilds DebugClientsEmptyResponseErrorsTransportWithAuthsEVT_DEBUGGER_STARTsLOG_TRACEBACKSs UnknownErrorswxEVT_DEBUGGER_STARTs USE_TCPWATCHssyss DebuggerTaskswxsassocketsfsUtilsscpcs xmlrpclibsChildProcessClientstimeswxEVT_DEBUGGER_STOPPEDswxEVT_DEBUGGER_EXCsossKEEP_STREAMS_OPEN((sa/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/ChildProcessClient.pys?s$$  7& [m