Add a traffic stats page

hacky iframe include..
This commit is contained in:
Christoph Reiter
2021-03-01 10:28:28 +01:00
parent e2b1fa4829
commit fb20eb77d0
4 changed files with 27 additions and 1 deletions

View File

@@ -7,6 +7,9 @@
<li class="nav-item">
<a class="nav-link {{ 'active' if is_endpoint('outofdate') else '' }}" href="{{ url_for('outofdate') }}">Outdated Packages</a>
</li>
<li class="nav-item">
<a class="nav-link {{ 'active' if is_endpoint('stats') else '' }}" href="{{ url_for('stats') }}">Traffic Stats</a>
</li>
<hr>
<li class="nav-item">
<a class="nav-link {{ 'active' if is_endpoint('repos') else '' }}" href="{{ url_for('repos') }}">Repos</a>

18
app/templates/stats.html Normal file
View File

@@ -0,0 +1,18 @@
{% extends "layout.html" %}
{% block title %}Traffic Stats{% endblock %}
{% block inner_content %}
<style>
iframe {
width: 100%;
height: calc(100vh - 8rem);
}
</style>
<div class="card">
<div class="overflow-auto">
<iframe src="https://repo.msys2.org/stats/?i=enp2s0"></iframe>
</div>
</div>
{% endblock %}

View File

@@ -147,6 +147,11 @@ async def repos(request: Request, response: Response) -> Response:
return templates.TemplateResponse("repos.html", {"request": request, "repos": get_repositories()}, headers=dict(response.headers))
@router.get('/stats', dependencies=[Depends(Etag(get_etag))])
async def stats(request: Request, response: Response) -> Response:
return templates.TemplateResponse("stats.html", {"request": request}, headers=dict(response.headers))
@router.get('/', dependencies=[Depends(Etag(get_etag))])
async def index(request: Request, response: Response) -> Response:
return RedirectResponse(request.url_for('queue'), headers=dict(response.headers))

View File

@@ -25,7 +25,7 @@ def client():
@pytest.mark.parametrize("endpoint", [
'', 'repos', 'base', 'group', 'updates', 'outofdate', 'queue', 'new',
'search', 'base/foo', 'group/foo', 'package/foo',
'package',
'package', 'stats',
])
def test_main_endpoints(client, endpoint):
r = client.get('/' + endpoint)