added statistics page

This commit is contained in:
joachim lusiardi 2015-03-05 21:14:21 +01:00
parent a8b6789295
commit 4588cf20f1
4 changed files with 59 additions and 1 deletions

20
main.py
View File

@ -55,6 +55,26 @@ def getPitStops():
data = {'pitstops': preparePitStops(getAllPitStops())}
return render_template('pitstops.html', data=data)
@app.route('/statistics', methods=['GET'])
def getStatistics():
pitstops = getAllPitStops()
distance = pitstops[-1]['odometer'] - pitstops[0]['odometer']
count = len(pitstops)
averageDistance = round(distance/count, 2)
sumLitres = 0
for pitstop in pitstops:
sumLitres += pitstop['litres']
averageLitresFuelled = round(sumLitres/count, 2)
averageLitresUsed = round(100 * sumLitres/distance, 2)
data = {
'distance':distance,
'count': count,
'litres': round(sumLitres, 2),
'averageDistance': averageDistance,
'averageListresFuelled': averageLitresFuelled,
'averageListresUsed': averageLitresUsed}
return render_template('statistics.html', data=data)
def preparePitStops(pitstops):
for index in range(1, len(pitstops)):
last = pitstops[index - 1]

View File

@ -3,6 +3,7 @@
{% block navigation %}
<li><a href='{{ url_for('getPitStops') }}'>Home</a></li>
<li><a href='{{ url_for('createPitStopForm') }}' class="active">Create Pitstop</a></li>
<li><a href='{{ url_for('getStatistics') }}'>Statistics</a></li>
{% endblock %}
{% block body %}

View File

@ -3,6 +3,7 @@
{% block navigation %}
<li><a href='{{ url_for('getPitStops') }}' class="active">Home</a></li>
<li><a href='{{ url_for('createPitStopForm') }}'>Create Pitstop</a></li>
<li><a href='{{ url_for('getStatistics') }}'>Statistics</a></li>
{% endblock %}
{% block body %}
@ -49,5 +50,5 @@
</td>
</tr>
{% endfor %}
</table
</table>
{% endblock %}

36
templates/statistics.html Normal file
View File

@ -0,0 +1,36 @@
{% extends "layout.html" %}
{% block navigation %}
<li><a href='{{ url_for('getPitStops') }}'>Home</a></li>
<li><a href='{{ url_for('createPitStopForm') }}'>Create Pitstop</a></li>
<li><a href='{{ url_for('getStatistics') }}' class="active">Statistics</a></li>
{% endblock %}
{% block body %}
<table>
<tr>
<th>Number of Pitstops:</th>
<td>{{ data.count }}</td>
</tr>
<tr>
<th>Logged Distance:</th>
<td>{{ data.distance }} km</td>
</tr>
<tr>
<th>Average Distance:</th>
<td>{{ data.averageDistance }} km</td>
</tr>
<tr>
<th>Litres fuelled:</th>
<td>{{ data.litres }} l</td>
</tr>
<tr>
<th>Average Litres fuelled:</th>
<td>{{ data.averageListresFuelled }} l</td>
</tr>
<tr>
<th>Average Litres used:</th>
<td>{{ data.averageListresUsed }} l/100km</td>
</tr>
</table>
{% endblock %}