Skip to content

Commit c9eac40

Browse files
authored
Add files via upload
1 parent 708bcd9 commit c9eac40

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

app.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from flask import Flask, request, render_template
2+
from io import StringIO
3+
import sys
4+
5+
app = Flask(__name__)
6+
7+
@app.route('/', methods=['GET', 'POST'])
8+
def index():
9+
if request.method == 'POST':
10+
user_code = request.form['user_code']
11+
result = 0
12+
13+
try:
14+
#capture the output
15+
original_stdout = sys.stdout
16+
sys.stdout = StringIO()
17+
18+
#execute arbitrary code
19+
exec(user_code)
20+
21+
#retrieve output
22+
output = sys.stdout.getvalue()
23+
24+
#reset stdout
25+
sys.stdout = original_stdout
26+
27+
result = output.strip()
28+
29+
except Exception as e:
30+
result = f"Error: {str(e)}"
31+
32+
return render_template('index.html', result=result, user_code=user_code)
33+
34+
return render_template('index.html', result=None, user_code="# Write your Python code here and execute it.\nprint('Try me!')")
35+
36+
if __name__ == '__main__':
37+
app.run(debug=True)

0 commit comments

Comments
 (0)