#!/usr/bin/env python import cgitb; cgitb.enable() import cgi, os, sys, json from project import Project fs =cgi.FieldStorage() project = fs.getvalue("p", "") proj = Project(project) method = os.environ.get("REQUEST_METHOD") # print "Hello", method # cgi.print_environ() UPLOADS = "/home/murtaugh/projects/DPT/hybrideditor/projects/uploads/" def upload (form, inputname, upload_dir): if not form.has_key(inputname): return fileitems = form[inputname] if not isinstance(fileitems, list): fileitems = [fileitems] ret = [] for fileitem in fileitems: if not fileitem.file: continue if not fileitem.filename: continue fp = os.path.join(upload_dir, fileitem.filename) fout = file (fp, 'wb') bytes = 0 while 1: chunk = fileitem.file.read(100000) if not chunk: break bytes += len(chunk) fout.write (chunk) fout.close() ret.append((fileitem.filename, bytes)) return ret if method == "POST": result = upload(fs, "files[]", proj.fullpath) if result: print "Content-type: application/json" print "" print json.dumps(result) sys.exit(0) # for filename, bytes in result: # print "{0} bytes written to {1}
".format(bytes, filename) else: print "Content-type:text/html;charset=utf-8" print print "No upload" print "upload another" else: print "Content-type:text/html;charset=utf-8" print print """