n@921: import BaseHTTPServer n@921: from os import walk n@921: from os import path n@921: import urllib2 n@921: import pickle n@921: import datetime n@921: n@921: curSaveIndex = 0; n@921: curFileName = 'test-0.xml' n@921: while(path.isfile('saves/'+curFileName)): n@921: curSaveIndex += 1; n@921: curFileName = 'test-'+str(curSaveIndex)+'.xml' n@921: n@921: print curFileName n@921: n@921: def send404(s): n@921: s.send_response(404) n@921: s.send_header("Content-type", "text/html") n@921: s.end_headers() n@921: n@921: def processFile(s): n@921: s.path = s.path[1:len(s.path)] n@921: st = s.path.rsplit(',') n@921: lenSt = len(st) n@921: fmt = st[lenSt-1].rsplit('.') n@921: size = path.getsize(urllib2.unquote(s.path)) n@921: fileDump = open(urllib2.unquote(s.path)) n@921: s.send_response(200) n@921: n@921: if (fmt[1] == 'html'): n@921: s.send_header("Content-type", 'text/html') n@921: elif (fmt[1] == 'css'): n@921: s.send_header("Content-type", 'text/css') n@921: elif (fmt[1] == 'js'): n@921: s.send_header("Content-type", 'application/javascript') n@921: else: n@921: s.send_header("Content-type", 'application/octet-stream') n@921: s.send_header("Content-Length", size) n@921: s.end_headers() n@921: s.wfile.write(fileDump.read()) n@921: fileDump.close() n@921: n@921: def saveFile(self): n@921: global curFileName n@921: global curSaveIndex n@921: varLen = int(self.headers['Content-Length']) n@921: postVars = self.rfile.read(varLen) n@921: print curFileName n@921: file = open('saves/'+curFileName,'w') n@921: curSaveIndex += 1; n@921: curFileName = 'test-'+str(curSaveIndex)+'.xml' n@921: print curFileName n@921: file.write(postVars) n@921: file.close() n@921: self.send_response(200) n@921: self.send_header("Content-type", "text/xml") n@921: self.end_headers() n@921: self.wfile.write('OKsaves/'+curFileName+'') n@921: n@921: class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): n@921: def do_HEAD(s): n@921: s.send_response(200) n@921: s.send_header("Content-type", "text/html") n@921: s.end_headers() n@921: def do_GET(request): n@921: if(request.client_address[0] == "127.0.0.1"): n@921: if (request.path == "/favicon.ico"): n@921: send404(request) n@921: else: n@921: if (request.path == '/'): n@921: request.path = '/index.html' n@921: processFile(request) n@921: else: n@921: send404(request) n@921: def do_POST(request): n@921: if(request.client_address[0] == "127.0.0.1"): n@921: if (request.path == "/save"): n@921: saveFile(request) n@921: else: n@921: send404(request) n@921: n@921: def run(server_class=BaseHTTPServer.HTTPServer, n@921: handler_class=MyHandler): n@921: server_address = ('', 8000) n@921: httpd = server_class(server_address, handler_class) n@921: httpd.serve_forever() n@921: n@921: run()