mň y%ÜGc@sŔdZdfd„ƒYZdefd„ƒYZdklZdkZdefd„ƒYZd fd „ƒYZd d d dddddddddddddddddddd d!gZdS("sSpyce modules functionality.t spyceModulecBs>tZdZd„Zd„Zed„Zd„Zd„ZRS(s&All Spyce module should subclass this.cCs ||_dS(N(twrappertselft_api(RR((t//home/holguin2/public_html/spyce/spyceModule.pyt__init__scCsdS(N((R((RtstartscCsdS(N((RttheError((RtfinishscOsdS(N((Rtargstkwargs((RtinitscCsdt|iƒS(Nsno information, (tstrRt __class__(R((Rt__repr__s( t__name__t __module__t__doc__RRtNoneRR R(((RRs     tspyceModulePluscBstZd„ZRS(NcCs>ti||ƒ|i|_t|ƒ|_|iƒ|_dS(N( RRRRRt moduleFindertmodulest getGlobalstglobals(RR((RRs (RRR(((RRs(sInteractiveConsoleNtBreakpointConsolecBs&tZd„Zd„Zdd„ZRS(NcCsZti||dƒdkl}|titidƒt_|ti ti dƒt_ dS(Nt bpconsole(s DummyWriter( tInteractiveConsoleRRtlocalst spyceConsolet DummyWritertsyst __stdout__tstdoutt __stderr__tstderr(RRR((RR(s cCs"tiit_tiit_dS(N(RR t other_streamR"(R((Rt__del__-stcCsN|i|ƒtƒiƒ}|iƒ}| p |djo tƒ‚n|S(Ntcontinue(Rtwritetpromptt raw_inputtrstriptstEOFError(RR(R+((RR)1s    (RRRR$R)(((RR's  RcBsDtZd„Zd„ZeeƒZdd„Zd„Zd„ZRS(NcCs ||_dS(N(RRt_wrapper(RR((RR;scCs |iiiS(N(RR-t_codeenvtdb(R((RR/=scCs™|djodk}|idƒi}ndk}|iƒ}|iƒ}z7|i dƒt |ƒ}|i idƒ|iƒWd|i |ƒXdS(NiRsGSpyce breakpoint console: type "continue" (without the quotes) to exit (RRRt _getframetf_localst threadingt currentThreadtthtgetNametold_nametsetNameRtbcR R'tinteract(RRR8RR2R4R6((Rt breakpoint@s       cCsdS(NR((R((RROscCs|ii|ƒS(N(RR-t getModuletname(RR<((Rt __getattr__Qs( RRRR/tpropertyRR:RR=(((RR:s      t getFilenametgetCodet getCodeRefst getModRefstgetServerObjecttgetServerGlobalst getServerIDt getModulesR;t setModuleRtregisterModuleCallbacktunregisterModuleCallbackt getRequestt getResponset setResponsetregisterResponseCallbacktunregisterResponseCallbackt spyceStringt spyceFilet spyceTaglibt setStdoutt getStdout( RRRtcodeRRRRtspyceModuleAPI(RRRRURRRR((Rt?s