Spaces:
Running
Running
File size: 1,008 Bytes
79743a3 5c239ba 79743a3 47ab990 9fbb486 79743a3 5c239ba 27660a3 5c239ba 47ab990 5c239ba 79743a3 3750ff9 24eb369 c6fcf99 79743a3 47ab990 c6fcf99 5c239ba 79743a3 9fbb486 79743a3 4c519fd 79743a3 5c239ba 79743a3 5c239ba 79743a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
from typing import Union
from time import gmtime, strftime
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse
from modules.details import Details, rand_details
from modules.dataset import get_image, get_stats
app = FastAPI(docs_url=None, redoc_url=None)
app.mount("/static", StaticFiles(directory="static"), name="static")
card_logs = []
@app.head('/')
@app.get('/')
def index() -> FileResponse:
return FileResponse(path="static/index.html", media_type="text/html")
@app.get('/new_card')
def new_card() -> dict[str, Union[Details, str]]:
card_logs.append(strftime('%Y-%m-%dT%H:%M:%SZ', gmtime()))
details: Details = rand_details()
return {
"details": details,
"image": get_image(details["energy_type"]),
}
@app.get('/stats')
def stats() -> dict[str, Union[int, object]]:
return get_stats() | {"cards_served": len(card_logs)}
@app.get('/logs')
def logs() -> list[str]:
return card_logs
|