|
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}) |