Index: experimental/webtry/server.py |
diff --git a/experimental/webtry/server.py b/experimental/webtry/server.py |
deleted file mode 100644 |
index 8367b3e46ab44381ff5c808bf9cb61bb865880b1..0000000000000000000000000000000000000000 |
--- a/experimental/webtry/server.py |
+++ /dev/null |
@@ -1,79 +0,0 @@ |
-import BaseHTTPServer |
-import base64 |
-import json |
-import logging |
-import string |
-import subprocess |
- |
-HOST_NAME = 'localhost' |
-PORT_NUMBER = 8765 |
- |
-def runCode(usercode): |
- f = open('template.cpp', 'rb') |
- template = string.Template(f.read()) |
- f.close() |
- |
- code = template.substitute(usercode=usercode) |
- |
- f = open('result.cpp', 'wb') |
- f.write(code) |
- f.close() |
- |
- msg = "" |
- img = "" |
- try: |
- logging.info("compiling") |
- msg = subprocess.check_output('ninja -C ../../out/Debug webtry'.split()) |
- try: |
- logging.info("running") |
- msg = subprocess.check_output('../../out/Debug/webtry'.split()) |
- f = open('foo.png', 'rb') |
- img = base64.b64encode(f.read()) |
- f.close() |
- except subprocess.CalledProcessError as e: |
- logging.info(e) |
- msg = e.output |
- except subprocess.CalledProcessError as e: |
- logging.info(e) |
- msg = e.output |
- |
- retval = { |
- 'message': msg |
- } |
- if img: |
- retval['img'] = img |
- return retval |
- |
-class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
- def do_POST(self): |
- logging.info("POST") |
- body = "" |
- l = self.rfile.readline() |
- while l.strip() != "EOF": |
- body += l |
- l = self.rfile.readline() |
- self.send_response(200) |
- self.send_header("Content-type", "application/json") |
- self.end_headers() |
- resp = runCode(body) |
- self.wfile.write(json.dumps(resp)) |
- self.end_headers() |
- |
- def do_GET(self): |
- """Respond to a GET request.""" |
- self.send_response(200) |
- self.send_header("Content-type", "text/html") |
- self.end_headers() |
- f = open('index.html', 'rb') |
- self.wfile.write(f.read()) |
- f.close() |
- |
-if __name__ == '__main__': |
- server_class = BaseHTTPServer.HTTPServer |
- httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler) |
- logging.info("Server Start: %s:%s" % (HOST_NAME, PORT_NUMBER)) |
- try: |
- httpd.serve_forever() |
- except KeyboardInterrupt: |
- pass |
- httpd.server_close() |