def logstash_handler(): try: handle_logstash(rcp.get_connection(), flask.request.json) except Exception as err: app.logger.exception(err) return "", 201
def render_copr_detail(copr): repo_dl_stat = CounterStatLogic.get_copr_repo_dl_stat(copr) form = forms.CoprLegalFlagForm() repos_info = {} for chroot in copr.active_chroots: chroot_rpms_dl_stat_key = CHROOT_RPMS_DL_STAT_FMT.format( copr_user=copr.owner_name, copr_project_name=copr.name, copr_chroot=chroot.name, ) chroot_rpms_dl_stat = TimedStatEvents.get_count( rconnect=rcp.get_connection(), name=chroot_rpms_dl_stat_key, ) logoset = set() logodir = app.static_folder + "/chroot_logodir" for logo in os.listdir(logodir): # glob.glob() uses listdir() and fnmatch anyways if fnmatch.fnmatch(logo, "*.png"): logoset.add(logo[:-4]) if chroot.name_release not in repos_info: logo = None if chroot.name_release in logoset: logo = chroot.name_release + ".png" elif chroot.os_release in logoset: logo = chroot.os_release + ".png" repos_info[chroot.name_release] = { "name_release": chroot.name_release, "os_release": chroot.os_release, "os_version": chroot.os_version, "logo": logo, "arch_list": [chroot.arch], "repo_file": "{}-{}.repo".format(copr.repo_id, chroot.name_release), "dl_stat": repo_dl_stat[chroot.name_release], "rpm_dl_stat": { chroot.arch: chroot_rpms_dl_stat } } else: repos_info[chroot.name_release]["arch_list"].append(chroot.arch) repos_info[chroot.name_release]["rpm_dl_stat"][ chroot.arch] = chroot_rpms_dl_stat repos_info_list = sorted(repos_info.values(), key=lambda rec: rec["name_release"]) builds = builds_logic.BuildsLogic.get_multiple_by_copr( copr=copr).limit(1).all() return flask.render_template( "coprs/detail/overview.html", copr=copr, user=flask.g.user, form=form, repo_dl_stat=repo_dl_stat, repos_info_list=repos_info_list, latest_build=builds[0] if len(builds) == 1 else None, )
def backend_stat_message_handler(): try: handle_be_stat_message(rcp.get_connection(), json.loads(flask.request.json)) except Exception as err: app.logger.exception(err) return "OK", 201
def render_copr_detail(copr): repo_dl_stat = CounterStatLogic.get_copr_repo_dl_stat(copr) form = forms.CoprLegalFlagForm() repos_info = {} for chroot in copr.active_chroots: # chroot_rpms_dl_stat_key = CHROOT_REPO_MD_DL_STAT_FMT.format( # copr_user=copr.owner.name, # copr_project_name=copr.name, # copr_chroot=chroot.name, # ) chroot_rpms_dl_stat_key = CHROOT_RPMS_DL_STAT_FMT.format( copr_user=copr.owner.name, copr_project_name=copr.name, copr_chroot=chroot.name, ) chroot_rpms_dl_stat = TimedStatEvents.get_count( rconnect=rcp.get_connection(), name=chroot_rpms_dl_stat_key, ) if chroot.name_release not in repos_info: repos_info[chroot.name_release] = { "name_release": chroot.name_release, "name_release_human": chroot.name_release_human, "os_release": chroot.os_release, "os_version": chroot.os_version, "arch_list": [chroot.arch], "repo_file": "{}-{}-{}.repo".format(copr.owner.name, copr.name, chroot.name_release), "dl_stat": repo_dl_stat[chroot.name_release], "rpm_dl_stat": { chroot.arch: chroot_rpms_dl_stat } } else: repos_info[chroot.name_release]["arch_list"].append(chroot.arch) repos_info[chroot.name_release]["rpm_dl_stat"][ chroot.arch] = chroot_rpms_dl_stat repos_info_list = sorted(repos_info.values(), key=lambda rec: rec["name_release"]) builds = builds_logic.BuildsLogic.get_multiple_by_copr( copr=copr).limit(1).all() return flask.render_template( "coprs/detail/overview.html", copr=copr, user=flask.g.user, form=form, repo_dl_stat=repo_dl_stat, repos_info_list=repos_info_list, latest_build=builds[0] if len(builds) == 1 else None, )
def render_copr_detail(copr): repo_dl_stat = CounterStatLogic.get_copr_repo_dl_stat(copr) form = forms.CoprLegalFlagForm() repos_info = {} for chroot in copr.active_chroots: # chroot_rpms_dl_stat_key = CHROOT_REPO_MD_DL_STAT_FMT.format( # copr_user=copr.user.name, # copr_project_name=copr.name, # copr_chroot=chroot.name, # ) chroot_rpms_dl_stat_key = CHROOT_RPMS_DL_STAT_FMT.format( copr_user=copr.user.name, copr_project_name=copr.name, copr_chroot=chroot.name, ) chroot_rpms_dl_stat = TimedStatEvents.get_count( rconnect=rcp.get_connection(), name=chroot_rpms_dl_stat_key, ) if chroot.name_release not in repos_info: repos_info[chroot.name_release] = { "name_release": chroot.name_release, "name_release_human": chroot.name_release_human, "os_release": chroot.os_release, "os_version": chroot.os_version, "arch_list": [chroot.arch], "repo_file": "{}-{}-{}.repo".format(copr.group.name if copr.is_a_group_project else copr.user.name, copr.name, chroot.name_release), "dl_stat": repo_dl_stat[chroot.name_release], "rpm_dl_stat": { chroot.arch: chroot_rpms_dl_stat } } else: repos_info[chroot.name_release]["arch_list"].append(chroot.arch) repos_info[chroot.name_release]["rpm_dl_stat"][chroot.arch] = chroot_rpms_dl_stat repos_info_list = sorted(repos_info.values(), key=lambda rec: rec["name_release"]) builds = builds_logic.BuildsLogic.get_multiple_by_copr(copr=copr).limit(1).all() return flask.render_template( "coprs/detail/overview.html", copr=copr, user=flask.g.user, form=form, repo_dl_stat=repo_dl_stat, repos_info_list=repos_info_list, latest_build=builds[0] if len(builds) == 1 else None, )
def copr_detail(username, coprname): query = coprs_logic.CoprsLogic.get( flask.g.user, username, coprname, with_mock_chroots=True) form = forms.CoprLegalFlagForm() try: copr = query.one() except sqlalchemy.orm.exc.NoResultFound: return page_not_found( "Copr with name {0} does not exist.".format(coprname)) repo_dl_stat = CounterStatLogic.get_copr_repo_dl_stat(copr) repos_info = {} for chroot in copr.active_chroots: chroot_rpms_dl_stat_key = CHROOT_REPO_MD_DL_STAT_FMT.format( copr_user=copr.owner.name, copr_project_name=copr.name, copr_chroot=chroot.name, ) chroot_rpms_dl_stat = TimedStatEvents.get_count( rconnect=rcp.get_connection(), name=chroot_rpms_dl_stat_key, ) if chroot.name_release not in repos_info: repos_info[chroot.name_release] = { "name_release": chroot.name_release, "name_release_human": chroot.name_release_human, "arch_list": [chroot.arch], "repo_file": "{}-{}-{}.repo".format(copr.owner.name, copr.name, chroot.name_release), "dl_stat": repo_dl_stat[chroot.name_release], "rpm_dl_stat": { chroot.arch: chroot_rpms_dl_stat } } else: repos_info[chroot.name_release]["arch_list"].append(chroot.arch) repos_info[chroot.name_release]["rpm_dl_stat"][chroot.arch] = chroot_rpms_dl_stat repos_info_list = sorted(repos_info.values(), key=lambda rec: rec["name_release"]) return flask.render_template("coprs/detail/overview.html", copr=copr, form=form, repo_dl_stat=repo_dl_stat, repos_info_list=repos_info_list, )