def coprs_by_user(username=None, page=1): user = users_logic.UsersLogic.get(username).first() if not user: return page_not_found("User {0} does not exist.".format(username)) pinned = [pin.copr for pin in PinnedCoprsLogic.get_by_user_id(user.id) ] if page == 1 else [] query = CoprsLogic.get_multiple_owned_by_username(username) query = CoprsLogic.filter_without_ids(query, [copr.id for copr in pinned]) query = CoprsLogic.filter_without_group_projects(query) query = CoprsLogic.set_query_order(query, desc=True) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query # flask.g.user is none when no user is logged - showing builds from everyone users_builds = builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 4) data = builds_logic.BuildsLogic.get_small_graph_data('30min') return flask.render_template("coprs/show/user.html", user=user, coprs=coprs, pinned=pinned, paginator=paginator, tasks_info=ComplexLogic.get_queue_sizes(), users_builds=users_builds, graph=data)
def coprs_by_allowed(username=None, page=1): query = coprs_logic.CoprsLogic.get_multiple(flask.g.user, user_relation="allowed", username=username, with_mock_chroots=False) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query return flask.render_template("coprs/show.html", coprs=coprs, paginator=paginator)
def coprs_fulltext_search(page=1): fulltext = flask.request.args.get("fulltext", "") try: query = coprs_logic.CoprsLogic.get_multiple_fulltext(fulltext) except ValueError as e: flask.flash(str(e)) return flask.redirect(flask.request.referrer or flask.url_for("coprs_ns.coprs_show")) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query return render_template("coprs/show.html", coprs=coprs, paginator=paginator, fulltext=fulltext)
def copr_builds(username, coprname, page=1): copr = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname).first() if not copr: return page_not_found( "Copr with name {0} does not exist.".format(coprname)) builds_query = builds_logic.BuildsLogic.get_multiple( flask.g.user, copr=copr) paginator = helpers.Paginator( builds_query, copr.build_count, page, per_page_override=20) return flask.render_template("coprs/detail/builds.html", copr=copr, builds=paginator.sliced_query, paginator=paginator)
def coprs_show(page=1): query = CoprsLogic.get_multiple(include_unlisted_on_hp=False) query = CoprsLogic.set_query_order(query, desc=True) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query # flask.g.user is none when no user is logged - showing builds from everyone # TODO: builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5) takes too much time, optimize sql # users_builds = builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5) users_builds = builds_logic.BuildsLogic.get_recent_tasks(None, 5) return flask.render_template("coprs/show/all.html", coprs=coprs, paginator=paginator, tasks_info=ComplexLogic.get_queues_size(), users_builds=users_builds)
def coprs_fulltext_search(page=1): fulltext = flask.request.args.get("fulltext", "") try: query = coprs_logic.CoprsLogic.get_multiple_fulltext(fulltext) except ValueError as e: flask.flash(str(e), "error") return flask.redirect(flask.request.referrer or flask.url_for("coprs_ns.coprs_show")) paginator = helpers.Paginator(query, query.count(), page, additional_params={"fulltext": fulltext}) coprs = paginator.sliced_query return render_template( "coprs/show/fulltext.html", coprs=coprs, paginator=paginator, fulltext=fulltext, tasks_info=ComplexLogic.get_queues_size(), )
def coprs_show(page=1): query = coprs_logic.CoprsLogic.get_multiple( flask.g.user, with_mock_chroots=False) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query # flask.g.user is none when no user is logged - showing builds from everyone users_builds = builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5) waiting_tasks = len(list(builds_logic.BuildsLogic.get_build_task_queue())) running_tasks = len(list(builds_logic.BuildsLogic .get_build_tasks(helpers.StatusEnum("running")))) return flask.render_template("coprs/show.html", coprs=coprs, paginator=paginator, waiting_tasks=waiting_tasks, running_tasks=running_tasks, users_builds=users_builds)
def coprs_by_user(username=None, page=1): user = users_logic.UsersLogic.get(username).first() if not user: return page_not_found("User {0} does not exist.".format(username)) query = CoprsLogic.get_multiple_owned_by_username(username) query = CoprsLogic.filter_without_group_projects(query) query = CoprsLogic.set_query_order(query, desc=True) paginator = helpers.Paginator(query, query.count(), page) coprs = paginator.sliced_query # flask.g.user is none when no user is logged - showing builds from everyone users_builds = builds_logic.BuildsLogic.get_recent_tasks(flask.g.user, 5) return flask.render_template("coprs/show/user.html", user=user, coprs=coprs, paginator=paginator, tasks_info=ComplexLogic.get_queues_size(), users_builds=users_builds)