if not (programdata['name'] in contents[programdata['username']]): contents[programdata['username']][programdata['name']] = programdata['commands'] wprogramsfile = open('programs.json', 'w') wprogramsfile.write(json.dumps(contents)) wprogramsfile.close() reply['success'] = True elif path[1] == 'editprogram': programdata = json.loads(urllib.unquote(urlparse.parse_qs(self.rfile.read(int(self.headers.getheader('content-length'))), keep_blank_values = 1)['data'][0])) programsfile = open('programs.json') contents = json.load(programsfile) programsfile.close() reply['success'] = False if not (programdata['newname'] in contents[programdata['username']]) or programdata['newname'] == programdata['oldname']: if programdata['oldname'] in contents[programdata['username']]: del(contents[programdata['username']][programdata['oldname']]) contents[programdata['username']][programdata['newname']] = programdata['commands'] wprogramsfile = open('programs.json', 'w') wprogramsfile.write(json.dumps(contents)) wprogramsfile.close() reply['success'] = True self.send_response(200) self.send_header('Content-Type', 'application/json') self.end_headers() self.wfile.write(json.dumps(reply)) if __name__ == '__main__': ip_address = netproxy.getLocalIP() print 'Starting server on %s:8080' % ip_address httpd = BaseHTTPServer.HTTPServer(('', 8080), NaoHandler) httpd.serve_forever()