o k`@sxddlZddlZddlZddlmZddlmZddlm Z Gddde Z ddZ e d kr:e d ee dSdS) N) __version__)dispatch_request) WSGIGatewayc@s(eZdZdZdZdZddZddZdS) CGIGatewayFTcCst|ttjdS)N)r__init__dictosenviron)selfr 7/usr/lib/python3/dist-packages/trac/web/cgi_frontend.pyr#szCGIGateway.__init__cCs~|jsJd|js2|j\}}|_tjd||D] }tjd|qtjdtjtj|tjdS)NzResponse not startedz Status: %s z%s: %s z ) headers_set headers_sentsysstdoutwriteflush)r datastatusheadersheaderr r r _write&s   zCGIGateway._writeN)__name__ __module__ __qualname__wsgi_multithreadwsgi_multiprocess wsgi_run_oncerrr r r r rs  rc Csz&ddl}tjtjfD]}|}|||j}|||j|tj@q Wn t t fy1Ynwzddl }| tjtj | tjtj Wn t yUYnwt}|tdS)Nr)fcntlrstdinrfilenoF_GETFLF_SETFLr O_NONBLOCK ImportErrorAttributeErrormsvcrtsetmodeO_BINARYrrunr)rstreamfdflagsr&gatewayr r r r)5s& r)__main__zTrac==%s)r pkg_resourcesrtracrVERSION trac.web.mainr trac.web.wsgirrr)rrequirer r r r s