| 22 | |
| 23 | class JSONHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
| 24 | def do_POST(s): |
| 25 | response_code = 200 |
| 26 | response = "" |
| 27 | var_len = int(s.headers.get('Content-Length')) |
| 28 | content = s.rfile.read(var_len); |
| 29 | payload = json.loads(content); |
| 30 | |
| 31 | if payload.get('train'): |
| 32 | nn.train(payload['trainArray']) |
| 33 | nn.save() |
| 34 | elif payload.get('predict'): |
| 35 | try: |
| 36 | response = {"type":"test", "result":nn.predict(str(payload['image']))} |
| 37 | except: |
| 38 | response_code = 500 |
| 39 | else: |
| 40 | response_code = 400 |
| 41 | |
| 42 | s.send_response(response_code) |
| 43 | s.send_header("Content-type", "application/json") |
| 44 | s.send_header("Access-Control-Allow-Origin", "*") |
| 45 | s.end_headers() |
| 46 | if response: |
| 47 | s.wfile.write(json.dumps(response)) |
| 48 | return |
| 49 | |
| 50 | if __name__ == '__main__': |
| 51 | server_class = BaseHTTPServer.HTTPServer; |