#!/usr/bin/env python
import sys, os, traceback, string
import neo_cgi
def log (s):
sys.stderr.write("CGI: %s\n" % s)
def exceptionString():
import StringIO
## get the traceback message
sfp = StringIO.StringIO()
traceback.print_exc(file=sfp)
exception = sfp.getvalue()
sfp.close()
return exception
def main (argv, environ):
# log ("starting")
cgi = neo_cgi.CGI("")
try:
hdf_file = cgi.hdf.getValue("CGI.PathTranslated", "")
if hdf_file == "":
cgi.error ("No PATH_TRANSLATED var")
return
x = string.rfind (hdf_file, '/')
if x != -1:
cgi.hdf.setValue ("hdf.loadpaths.0", hdf_file[:x])
cgi.hdf.readFile(hdf_file)
content = cgi.hdf.getValue("Content", "")
if content == "":
cgi.error ("No Content var specified in HDF file %s" % hdf_file)
return
cgi.display(content)
except neo_cgi.CGIFinished:
return
except Exception, Reason:
log ("Python Exception: %s" % (str(repr(Reason))))
s = neo_cgi.text2html("Python Exception: %s" % exceptionString())
cgi.error (s)
if __name__ == "__main__":
main (sys.argv, os.environ)