RemoteMojo / main.py
SoUmNerd's picture
Update main.py
b887ba2
raw
history blame
666 Bytes
from fastapi import FastAPI
from pydantic import BaseModel
import subprocess
from regex import find_imports
class Item(BaseModel):
code: str
filename: str = ''
app = FastAPI()
@app.post("/code")
def run_mojo_code(item:Item) -> dict:
try:
imports = find_imports(item.code)
for imported in imports:
subprocess.call(["python3", "-m", "pip", "install", imported], shell=True)
with open(item.filename, "w") as f:
f.write(item.code)
return {"sucess":True, "output": subprocess.check_output(["mojo", item.filename]).decode("utf-8")}, 200
except:
return {"sucess":False}, 500