;ò ä~‹Bc@s dkZdkZdkZdkZdklZdklZlZdk l Z ydk l Z Wn*ei geidd+dk l Z nXeaeadae ƒZde fd„ƒYZd fd „ƒYZd eefd „ƒYZd ddd„Zd„ZdS(N(s TCPServer(s DebugServersDebuggerConnection(sThreadedTaskHandler(sRequestHandlerissDebugRequestHandlercBs#tZd„Zd„Zd„ZRS(NcCsS|i}to?|idƒ}| p|iƒdtjo dd‚qOndS(Nsauthenticationiÿÿÿÿs Unauthorizeds*Authentication header missing or incorrect(sselfsheadersshsauth_strsgetssssplit(sselfshss((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys _authenticates  cCsD|iƒtt|ƒ}||Œ}|tjo d}n|SdS(Ni( sselfs _authenticatesgetattrs connectionsmethodsmsparamssresultsNone(sselfsmethodsparamssmsresult((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pyscall"s     cGsdS(N((sselfsformatsargs((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys log_message+s(s__name__s __module__s _authenticatescalls log_message(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pysDebugRequestHandlers  s TaskingMixIncBstZdZd„ZRS(s5Mix-in class to handle each request in a task thread.cCs ti|id||fƒdS(s$Start a task to process the request.sargsN(s task_handlersaddTasksselfsfinish_requestsrequestsclient_address(sselfsrequestsclient_address((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pysprocess_request2s (s__name__s __module__s__doc__sprocess_request(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys TaskingMixIn/s sTaskingTCPServercBstZdZRS(Ni(s__name__s __module__sallow_reuse_address(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pysTaskingTCPServer7ss 127.0.0.1iXfszopec Csrttj o td‚n|djodkl}|ƒ}n(|djo tƒ}ntd|‚t|ƒa t i ƒt i d||fƒiƒa|at||ftƒ} t| iiƒdƒ}tit_tt_tt_d„}fd „} | || fƒti d t!| iiƒd ƒIJy dk"}Wnt#j onX|i$| ii%ƒdS( Ns#The debug server is already runningszope(sZopeScriptDebugServersbasicsUnknown debug server type: %ss%s:%sicCsxno|iƒq WdS(Ni(sservershandle_request(sserver((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys serve_forever[scCs3tid|d|ƒ}|idƒ|iƒdS(Nstargetsargsi(s threadingsThreadstargetsargssts setDaemonsstart(stargetsargsst((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys startDaemon_s sDebug server listening on %s:%si(&s debug_serversNones RuntimeErrors server_typesZopeScriptDebugServersdss DebugServers ValueErrorsDebuggerConnections connectionsallowEnvChangessbase64s encodestringsusernamespasswordsstripsauth_strsTaskingTCPServershostsportsDebugRequestHandlersserversintssockets getsocknames set_tracessyss breakpointsdebugger_controls boa_debuggers serve_forevers startDaemonsstderrstuplesatexits ImportErrorsregistersclose( susernamespasswordshostsports server_types serve_foreversatexitsdssZopeScriptDebugServersservers startDaemon((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pysstart;s6               $ cCstatadS(N(sNones debug_servers connection(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pysstopqs(ssyssoss threadingsbase64s SocketServers TCPServersIsolatedDebuggers DebugServersDebuggerConnectionsTaskssThreadedTaskHandlersExternalLib.xmlrpcserversRequestHandlerspardirspathsNones debug_servers connectionsauth_strs task_handlersDebugRequestHandlers TaskingMixInsTaskingTCPServersstartsstop(sTaskingTCPServersThreadedTaskHandlers task_handlersstartsbase64sstops TCPServersDebugRequestHandlerssyss threadingsRequestHandlersDebuggerConnections TaskingMixInsoss DebugServer((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Debugger/RemoteServer.pys?s&     6