Spaces:
Sleeping
Sleeping
Ron Au
commited on
Commit
•
2d467fb
1
Parent(s):
2ef32c5
feat(stats): Improve usability of stats and logs
Browse files- app.py +11 -4
- static/js/index.js +3 -1
app.py
CHANGED
@@ -14,6 +14,10 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
|
|
14 |
|
15 |
card_logs = []
|
16 |
|
|
|
|
|
|
|
|
|
17 |
|
18 |
@app.head('/')
|
19 |
@app.get('/')
|
@@ -22,8 +26,11 @@ def index() -> FileResponse:
|
|
22 |
|
23 |
|
24 |
@app.get('/new_card')
|
25 |
-
def new_card() -> Dict[str, Union[Details, str]]:
|
26 |
-
card_logs.append(
|
|
|
|
|
|
|
27 |
|
28 |
details: Details = rand_details()
|
29 |
|
@@ -33,11 +40,11 @@ def new_card() -> Dict[str, Union[Details, str]]:
|
|
33 |
}
|
34 |
|
35 |
|
36 |
-
@app.get('/stats')
|
37 |
def stats() -> Dict[str, Union[int, object]]:
|
38 |
return {**get_stats(), **{"cards_served": len(card_logs)}}
|
39 |
|
40 |
|
41 |
-
@app.get('/logs')
|
42 |
def logs() -> List[str]:
|
43 |
return card_logs
|
|
|
14 |
|
15 |
card_logs = []
|
16 |
|
17 |
+
# card_logs = [
|
18 |
+
# {pulls: 1, datetime: time()}
|
19 |
+
# ]
|
20 |
+
|
21 |
|
22 |
@app.head('/')
|
23 |
@app.get('/')
|
|
|
26 |
|
27 |
|
28 |
@app.get('/new_card')
|
29 |
+
def new_card(pull: int) -> Dict[str, Union[Details, str]]:
|
30 |
+
card_logs.append({
|
31 |
+
"pull": pull,
|
32 |
+
"datetime": strftime('%Y-%m-%dT%H:%M:%SZ', gmtime())
|
33 |
+
})
|
34 |
|
35 |
details: Details = rand_details()
|
36 |
|
|
|
40 |
}
|
41 |
|
42 |
|
43 |
+
@app.get('/stats.json')
|
44 |
def stats() -> Dict[str, Union[int, object]]:
|
45 |
return {**get_stats(), **{"cards_served": len(card_logs)}}
|
46 |
|
47 |
|
48 |
+
@app.get('/logs.json')
|
49 |
def logs() -> List[str]:
|
50 |
return card_logs
|
static/js/index.js
CHANGED
@@ -9,6 +9,7 @@ let trainerName;
|
|
9 |
let useTrainerName = true;
|
10 |
let generating = false;
|
11 |
let mousemoveHandlerForPreviousCard;
|
|
|
12 |
|
13 |
const generate = async () => {
|
14 |
if (generating) {
|
@@ -36,7 +37,8 @@ const generate = async () => {
|
|
36 |
|
37 |
await new Promise((resolve) => setTimeout(resolve, 5_000));
|
38 |
|
39 |
-
|
|
|
40 |
const cardResponse = await fetch(resolvedCardUrl);
|
41 |
const card = await cardResponse.json();
|
42 |
|
|
|
9 |
let useTrainerName = true;
|
10 |
let generating = false;
|
11 |
let mousemoveHandlerForPreviousCard;
|
12 |
+
let pulls = 0;
|
13 |
|
14 |
const generate = async () => {
|
15 |
if (generating) {
|
|
|
37 |
|
38 |
await new Promise((resolve) => setTimeout(resolve, 5_000));
|
39 |
|
40 |
+
pulls += 1;
|
41 |
+
const resolvedCardUrl = new URL(`new_card?pull=${pulls}`, document.location.origin + document.location.pathname).href;
|
42 |
const cardResponse = await fetch(resolvedCardUrl);
|
43 |
const card = await cardResponse.json();
|
44 |
|