예제 #1
0
      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()