def jobs(project, page):
""" For when no job id was given. """
g.selected_tab = "jobs"
# Check if project argument is correct
project_query = Project.select().where(Project.slug == project).first()
if project_query is None:
flash("Invalid project.")
return redirect(url_for("projects"))
session["project"] = project_query
page = int(page)
if page <= 0:
flash("invalid page number")
return redirect(project + "/jobs/1")
count = peewee.SelectQuery(Job).count()
query = (Job
.select()
.where(Job.project == project_query)
.order_by(-Job.started.is_null(), -Job.started)
.paginate(page, JOBSPERPAGE))
entries = []
for job in query:
span = job.ended
if job.started is not None:
if job.ended is not None:
span = job.ended - job.started
entries.append(dict(id=job.id, status=job.get_status(), name=job.name,
start=job.started, end=job.ended, span=span))
more = count > (page * JOBSPERPAGE)
less = page > 1
pagedata = dict(id=page, more=more, less=less)
return render_template("/jobs.html", entries=entries, page=pagedata)
评论列表
文章目录