31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from pyramid.view import view_config
|
|
from math import ceil
|
|
from .pagination import Pagination
|
|
|
|
@view_config(route_name="runstatus", renderer="templates/runstatus.jinja2")
|
|
@view_config(route_name="runstatus_json", renderer="prettyjson")
|
|
@view_config(route_name="runstatus_page_json", renderer="prettyjson")
|
|
def run_status(request):
|
|
page_num = 1
|
|
try:
|
|
page_num = int(request.matchdict['page_num'])
|
|
except KeyError:
|
|
pass
|
|
|
|
num_per_page = 100
|
|
num_cards = request.db['runStatus'].count()
|
|
pages = ceil(num_cards / num_per_page)
|
|
runStatuses = list(request.db['runStatus'].find().sort("timestamp", -1).skip(num_per_page * (page_num - 1)).limit(num_per_page))
|
|
return {'navgroup': 'runstatus', 'data': runStatuses, 'pagination': Pagination(page_num, num_per_page, num_cards)}
|
|
|
|
|
|
@view_config(route_name="runstatus_now_json", renderer="prettyjson")
|
|
def json_runstatusnow(request):
|
|
status = False
|
|
try:
|
|
status = list(request.db['runStatus'].find().sort("timestamp", -1).limit(1))[0]
|
|
except IndexError:
|
|
pass
|
|
|
|
return {'runstatus': status}
|