ai-pokemon-card / app.py
Ron Au
feat(logs): Rename datetime -> timestamp
d8e32e1
raw
history blame contribute delete
No virus
1.13 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(pull: int, saved: int) -> Dict[str, Union[Details, str]]:
card_logs.append({
"pull": pull,
"saved": saved,
"timestamp": strftime('%Y-%m-%dT%H:%M:%SZ', gmtime())
})
details: Details = rand_details()
return {
"details": details,
"image": get_image(details["energy_type"]),
}
@app.get('/stats.json')
def stats() -> Dict[str, Union[int, object]]:
return {**get_stats(), **{"cards_served": len(card_logs)}}
@app.get('/logs.json')
def logs() -> List[str]:
return card_logs