;ò í4fCc@s7dZdklZdklZdfd„ƒYZdS(s$Revision: 1.6 $(sOK(s CachedParsersTemplateHandlercBs_tZdZdZdd„Zd„Zd„Zd„Zd„Zd „Z d „Z d „Z RS( Ns%s.htmls templates/scCs#|o|i||ƒSn|SdS(N(sobjectsrendersselfscdata(sselfsobjectscdata((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysrenderer scCs°||_h|_y4|i|i|iƒƒƒ}tƒi|ƒ}WnDdk }|i ƒ|i|i |ƒƒ}tƒi|ƒ}nX|i |iƒ}t|_|SdS(N(sreqsselfs_reqs_scratchs buildTemplates getTemplatestemplates CachedParsers parseFilestrees tracebacks print_excsgetDefaultTemplatesrendersrenderershtmlsNone(sselfsreqs tracebackstreeshtmlstemplate((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysparse%s     cCs|i|ƒGHtSdS(N(sselfsparsesreqsOK(sselfsreq((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pyshandle6scCs |iSdS(N(sselfs_req(sself((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysreq:scCs |iSdS(N(sselfs_scratch(sself((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysscratch=scCs|i|i|SdS(N(sselfs TMPL_PATHsTMPLstemplate(sselfstemplate((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pys buildTemplateBscCs#|iƒid|i|ƒƒSdS(Ns PATH_INFO(sreqspsos getEnvironsselfsgetDefaultTemplate(sselfsreq((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pys getTemplateEscCs-t|dƒ od|i‚n|iSdS(NsDEFAULT_TEMPLATEs>please either define attribute DEFAULT_TEMPLATE or override %s(shasattrsselfsgetDefaultTemplatesDEFAULT_TEMPLATE(sselfsreq((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysgetDefaultTemplateHs( s__name__s __module__sTMPLs TMPL_PATHsrenderersparseshandlesreqsscratchs buildTemplates getTemplatesgetDefaultTemplate(((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pysTemplateHandlers       N(s __version__sservicesOKsparsers CachedParsersTemplateHandler(sTemplateHandlers __version__sOKs CachedParser((s:/home/groups/p/ps/pso/htdocs/tutorial/Edit/pso/handlers.pys?s