File size: 672 Bytes
7af55cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import subprocess,os,tempfile
from flask import Flask,request,Response
from flask_cors import CORS
app=Flask(__name__);CORS(app)
def run_python_code(code):
 try:
  with tempfile.NamedTemporaryFile(mode='w',suffix='.py',delete=False)as f:f.write(code);tf=f.name
  r=subprocess.run(['python3',tf],capture_output=True,text=True,timeout=30)
  os.unlink(tf)
  return r.stdout+r.stderr
 except:return"Error"
@app.route('/')
def index():return"Python API"
@app.route('/vm/default/python',methods=['POST'])
def run_python():d=request.get_json();c=d.get('code','');return Response(run_python_code(c),mimetype='text/plain')
if __name__=='__main__':app.run(host='0.0.0.0',port=7860)