Skip to content
Snippets Groups Projects
Select Git revision
  • 979ad31d5b8584f32710df5c0141d84b6b696c41
  • master default
2 results

EntityBrowserController.php

Blame
  • server.py 821 B
    """
    C'est le module qui s'occupe du web server
    """
    from fastapi import FastAPI
    from fastapi.requests import Request
    from fastapi.templating import Jinja2Templates
    from calculator.calculator import Calculator
    
    app = FastAPI()
    templates = Jinja2Templates(directory="calculator/templates")
    calc = Calculator()
    
    
    @app.get("/")
    async def root(request: Request):
        """
        Default and only route of the web calculator.
        Expects either no query parameters or a single query parameter named "expression".
        """
        expression = request.query_params.get("expression", "")
        context = {"request": request}
        if expression:
            result = calc(expression)
            context = {"request": request,
                       "expression": expression, "result": result}
        return templates.TemplateResponse("index.html", context)