Skip to content

Commit

Permalink
Switch to flask version
Browse files Browse the repository at this point in the history
better support in heroku
  • Loading branch information
jobinrjohnson committed Apr 30, 2019
1 parent 6334521 commit 63b33b2
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 41 deletions.
12 changes: 12 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
flask = "*"

[dev-packages]

[requires]
python_version = "3.6"
65 changes: 24 additions & 41 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,53 +1,36 @@
from subprocess import Popen, PIPE
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import SocketServer
import cgi
from flask import Flask, jsonify, request, render_template
import time
from subprocess import Popen, PIPE
app = Flask(__name__)


class S(BaseHTTPRequestHandler):

def do_GET(self):

self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()

f=open("html/main.html", "r")
self.wfile.write(f.read())

def do_POST(self):

form = cgi.FieldStorage(
fp=self.rfile,
headers=self.headers,
environ={'REQUEST_METHOD': 'POST'}
)
def serve_homepage():
f=open("html/main.html", "r")
return f.read()

code = form.getvalue("code")

file_name = "temp/" +str(time.time()) + ".txt"
def process_post():
code = request.form['code']

file1 = open(file_name,"w")
file1.write(code)
file1.close()
file_name = "temp/" +str(time.time()) + ".txt"

process = Popen(["build/QSim", file_name], stdout=PIPE)
(output, err) = process.communicate()
exit_code = process.wait()
file1 = open(file_name,"w")
file1.write(code)
file1.close()

self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(output)
process = Popen(["build/QSim", file_name], stdout=PIPE)
(output, err) = process.communicate()
exit_code = process.wait()

return output

def startServer(port=8090):
server_address = ('', port)
httpd = HTTPServer(server_address, S)
print('Starting server...')
httpd.serve_forever()
@app.route('/', methods=['POST', 'GET'])
def index():
if request.method == 'POST':
return process_post()
else:
return serve_homepage()


if __name__ == "__main__":
startServer()
if __name__ == '__main__':
app.run()

0 comments on commit 63b33b2

Please sign in to comment.