Mercurial > hg > webaudioevaluationtool
changeset 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 | 987ccc04250b |
children | 75b97c56a9d1 |
files | core.js keygen.php pythonServer.py |
diffstat | 3 files changed, 32 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/core.js Wed Mar 09 12:41:26 2016 +0000 +++ b/core.js Wed Mar 09 13:12:02 2016 +0000 @@ -897,7 +897,6 @@ case 'post': this.stateIndex++; this.currentStateMap = null; - this.currentStore.finish(); this.advanceState(); break; };
--- a/keygen.php Wed Mar 09 12:41:26 2016 +0000 +++ b/keygen.php Wed Mar 09 13:12:02 2016 +0000 @@ -7,7 +7,7 @@ $xml_good = "<response><state>OK</state><key>".$key_requested."</key></response>"; $xml_bad = "<response><state>NO</state><key>".$key_requested."</key></response>"; -$xml_bad = "<response><state>ERROR</state><key>".$key_requested."</key></response>"; +$xml_error = "<response><state>ERROR</state><key>".$key_requested."</key></response>"; if (is_array($saves)) { foreach($saves as $filename) {
--- 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()