from fastapi import FastAPI,Request from fastapi.templating import Jinja2Templates from fastapi.responses import HTMLResponse import os def format(codigo:str): return f"""\\documentclass{{article}} \\begin{{document}} {codigo} \\end{{document}}""" from subprocess import run app=FastAPI(); templates = Jinja2Templates(directory="templates") @app.get("/",response_class=HTMLResponse) def test(request: Request,q:str="ls",body:bool=True): with open("./v.tex","w") as k: k.write(format(q) if body else q) r=run("pdflatex v.tex".split(" "),capture_output=True).stderr if r.stderr: return r.stderr else: return templates.TemplateResponse("latex.html", { "request":request, "result":r.stdout})