34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from pyramid.view import view_config
|
|
|
|
|
|
@view_config(route_name='home', renderer='templates/dashboard.jinja2')
|
|
@view_config(route_name="home_json", renderer="prettyjson")
|
|
def my_view(request):
|
|
latest_tag_values = []
|
|
latesttag_agg = request.db['measurements'].aggregate([
|
|
{'$sort': {'dateStored': 1}},
|
|
{
|
|
'$group': {
|
|
'_id': '$tagname',
|
|
'currentValue': {'$last': '$currentValue'},
|
|
'units': {'$last': '$units'},
|
|
'maxValue': {'$last': '$maxValue'},
|
|
'minValue': {'$last': '$minValue'},
|
|
'totalValue': {'$last': '$totalValue'},
|
|
'averageValue': {'$last': '$averageValue'},
|
|
'useTotal': {'$last': '$useTotal'},
|
|
'useAverage': {'$last': '$useAverage'}
|
|
}
|
|
}
|
|
])
|
|
for t in latesttag_agg:
|
|
latest_tag_values.append(t)
|
|
|
|
latest_card = []
|
|
try:
|
|
latest_card = list(request.db['cards'].find().sort("timestamp", -1).limit(1))[0]
|
|
except IndexError:
|
|
latest_card = []
|
|
|
|
return {'project': 'POC Web Interface', 'navgroup': 'dashboard', 'tag_values': latest_tag_values, 'card': latest_card}
|