add a new stats page

This commit is contained in:
Andrej Karpathy
2021-11-26 21:57:48 -08:00
parent 6a0ff6a9bf
commit 47fba66712
4 changed files with 48 additions and 8 deletions
+15
View File
@@ -287,6 +287,21 @@ def profile():
context = default_context()
return render_template('profile.html', **context)
@app.route('/stats')
def stats():
context = default_context()
mdb = get_metas()
kv = {k:v for k,v in mdb.items()} # read all of metas to memory at once, for efficiency
tstr = lambda t: time.strftime('%b %d %Y', time.localtime(t))
context['num_papers'] = len(kv)
if len(kv) > 0:
context['earliest_paper'] = tstr(min(kv.values(), key=lambda x: x['_time'])['_time'])
context['latest_paper'] = tstr(max(kv.values(), key=lambda x: x['_time'])['_time'])
else:
context['earliest_paper'] = 'N/A'
context['latest_paper'] = 'N/A'
return render_template('stats.html', **context)
# -----------------------------------------------------------------------------
# tag related endpoints: add, delete tags for any paper
+15 -7
View File
@@ -4,7 +4,6 @@ body {
font-family: sans-serif;
line-height: 1.2;
}
#header {
height: 24px;
background-color: #844;
@@ -13,6 +12,17 @@ body {
padding-left: 10px;
border-bottom: 1px solid #622;
}
#home-link {
display: inline-block;
}
#stats-link {
float: right;
margin: 0 10px 0 10px;
}
#login-link {
float: right;
margin: 0 10px 0 10px;
}
#controls {
margin: 10px 40px 0 40px;
background-color: #eee;
@@ -178,12 +188,6 @@ body {
display: inline-block;
margin-left: 5px;
}
#login-link {
/* position on the right of the header */
position: absolute;
right: 10px;
top: 10px;
}
#profile-warning {
margin: 10px;
padding: 10px;
@@ -234,3 +238,7 @@ body {
font-size: 14px;
padding: 3px;
}
#statswrap {
margin: 10px 40px 0 40px;
font-size: 16px;
}
+2 -1
View File
@@ -20,10 +20,11 @@ var user = {{ user | tojson }};
<body>
<div id="header">
<a href="/">arxiv-sanity</a>
<a href="/" id="home-link">arxiv-sanity</a>
<a href="/profile" id="login-link">
{{ 'profile' if user else 'login' }}
</a>
<a href="/stats" id="stats-link">stats</a>
</div>
{% block content %}
+16
View File
@@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block variables %}
{% endblock %}
{% block content %}
<div id="statswrap">
<div><b>Current database index:</b></div>
<div>Number of papers: {{ num_papers }}</div>
<div>Earliest paper: {{ earliest_paper }}</div>
<div>Latest paper: {{ latest_paper }}</div>
</div>
{% endblock %}
{% block elements %}
{% endblock %}