# HG changeset patch # User Nicholas Jillings # Date 1457529122 0 # Node ID 9cf727420c29797253e50bb49e78b3466294746d # Parent 987ccc04250bf52b8e9df9f92ecf393899dbe8ea Python 2.x server can perform intermediate saves. diff -r 987ccc04250b -r 9cf727420c29 core.js --- 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; }; diff -r 987ccc04250b -r 9cf727420c29 keygen.php --- 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 = "OK".$key_requested.""; $xml_bad = "NO".$key_requested.""; -$xml_bad = "ERROR".$key_requested.""; +$xml_error = "ERROR".$key_requested.""; if (is_array($saves)) { foreach($saves as $filename) { diff -r 987ccc04250b -r 9cf727420c29 pythonServer.py --- 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 = "NO"+key+"" + else: + reply = "OK"+key+"" + 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("") + 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()