ó ´2Kc@sUddlZddlZddlmZddlmZdejfd„ƒYZdS(i˙˙˙˙N(t_cperror(t_cpwsgit DepotResponsecBs eZdZd„Zd„ZRS(s‘ This class is a partial combination of a cherrypy's original AppResponse class with a change to "Stage 2" of setapp to provide access to the write() callable specified by PEP 333. Access to this callable is necessary to maintain a minimal memory and disk footprint for streaming operations performed by the depot server, such as filelist. cCs|j|||ƒtj_dS(N(tstart_responset _cherrypytresponsetwrite(tselftsthtexc((s>/usr/lib/python2.7/vendor-packages/pkg/server/depotresponse.pyt__add_write_hook0scCs”yJ|jƒ|_|jƒ\}}}t|ƒ|_|j||dƒWnC|jk rm|jƒ‚n#t j k rĥ}t j j|j d<|jƒ|j |j|jƒdSt|jdtƒrŜ|jƒ‚ntjƒ}t j|ddƒt|jdtƒsd}ntj|ƒ\}}}t|ƒ|_y|j||tjƒƒWqt jdtddƒ|jƒ‚qXnXdS(Nscherrypy.previous_requestt throw_errorstseverityi(tshow_tracebackstt traceback(t get_requesttrequestt get_responsetitert iter_responset_DepotResponse__add_write_hooktNonetthrowstcloseRtInternalRedirecttservingtenviront iredirecttpatht query_stringtgetattrtFalseRt format_exctlogtTruet bare_errort_systexc_info(RRR tbtirttb((s>/usr/lib/python2.7/vendor-packages/pkg/server/depotresponse.pytsetappIs:      (t__name__t __module__t__doc__RR+(((s>/usr/lib/python2.7/vendor-packages/pkg/server/depotresponse.pyR(s (tsysR&tcherrypyRRRt AppResponseR(((s>/usr/lib/python2.7/vendor-packages/pkg/server/depotresponse.pyt#s