jobs.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:Anemone 作者: Winnak 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号