| #!/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: |
| fp = cgi.filehandle("file") |
| print "Content-Type: text/plain\r\n\r\n" |
| data = fp.read() |
| print data |
| |
| f = open("/tmp/file", "w") |
| f.write(data) |
| |
| 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) |