PokeGen / app.py
Ron Au
refactor(stats): Replace Py3.9 operator for 3.8
2ef32c5
raw
history blame
1.03 kB
from typing import Dict, List, 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