[albatross-users] Handy mod_python hint

Gregory Bond gnb at itga.com.au
Mon Dec 23 15:02:10 EST 2002


You can run a single Albatross program either as a normal CGI, as a native
mod_python script, or as a CGI under mod_python using mod_python's cgihandler,
with a trick like this:

	try:
	    os.environ['GATEWAY_INTERFACE']
	    cgi = 1
	except:
	    cgi = 0
    
	from albatross import SimpleSessionFileApp, SessionFileAppContext
	if cgi:
	    from albatross.cgiapp import Request
	else:
	    from albatross.apacheapp import Request

	# Page classes, application/context objects, etc here

	app = App()

	def handler(req):
 	   '''Called from mod_python - turn a mod_python req into an Albatross Request'''
	    return do_handler(Request(req))

	def do_handler(r):
 	   '''Called with an Albatross Request object'''
	    return app.run(r)

	if cgi:
	    do_handler(Request())





More information about the Albatross-users mailing list