Mercurial > hg > webaudioevaluationtool
diff pythonServer.py @ 1243:9cf727420c29
Python 2.x server can perform intermediate saves.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Wed, 09 Mar 2016 13:12:02 +0000 |
parents | a4ad9e55b5b8 |
children | ba6b9e1aaef5 |
line wrap: on
line diff
--- a/pythonServer.py Wed Mar 09 12:41:26 2016 +0000 +++ b/pythonServer.py Wed Mar 09 13:12:02 2016 +0000 @@ -7,6 +7,7 @@ import inspect import os import urllib2 +import urlparse import pickle import datetime @@ -58,18 +59,40 @@ s.end_headers() s.wfile.write(fileDump.read()) fileDump.close() - + +def keygen(s): + reply = "" + options = s.path.rsplit('?') + options = options[1].rsplit('=') + key = options[1] + print key + if os.path.isfile("saves/save-"+key+".xml"): + reply = "<response><state>NO</state><key>"+key+"</key></response>" + else: + reply = "<response><state>OK</state><key>"+key+"</key></response>" + s.send_response(200) + s.send_header("Content-type", "application/xml") + s.end_headers() + s.wfile.write(reply) + file = open("saves/save-"+key+".xml",'w') + file.write("<waetresult key="+key+"/>") + file.close(); + def saveFile(self): global curFileName global curSaveIndex + options = self.path.rsplit('?') + options = options[1].rsplit('=') + key = options[1] + print key varLen = int(self.headers['Content-Length']) postVars = self.rfile.read(varLen) - print curFileName - file = open('saves/'+curFileName,'w') + print "Saving file key "+key + file = open('saves/save-'+key+'.xml','w') file.write(postVars) file.close() try: - wbytes = os.path.getsize('saves/'+curFileName) + wbytes = os.path.getsize('saves/save-'+key+'.xml') except OSError: self.send_response(200) self.send_header("Content-type", "text/xml") @@ -94,6 +117,8 @@ if(request.client_address[0] == "127.0.0.1"): if (request.path == "/favicon.ico"): send404(request) + elif (request.path.split('?',1)[0] == "/keygen.php"): + keygen(request); else: if (request.path == '/'): request.path = '/index.html' @@ -108,7 +133,7 @@ def do_POST(request): if(request.client_address[0] == "127.0.0.1"): - if (request.path == "/save" or request.path == "/save.php"): + if (request.path.rsplit('?',1)[0] == "/save" or request.path.rsplit('?',1)[0] == "/save.php"): saveFile(request) else: send404(request) @@ -119,4 +144,4 @@ httpd = server_class(server_address, handler_class) httpd.serve_forever() -run() \ No newline at end of file +run()