Exemplo n.º 1
0
def project_versions(name: str) -> Any:
    metapackage = get_db().get_metapackage(name)

    if not metapackage or metapackage['num_repos'] == 0:
        return handle_nonexisting_project(name, metapackage)

    packages = [
        PackageDataDetailed(**item)
        for item in get_db().get_metapackage_packages(name, detailed=True)
    ]

    packages_by_repo: Dict[str, List[PackageDataDetailed]] = defaultdict(list)
    for package in packages:
        packages_by_repo[package.repo].append(package)

    for repo, repo_packages in packages_by_repo.items():
        packages_by_repo[repo] = packageset_sort_by_version(repo_packages)

    return flask.render_template(
        'project-versions.html',
        name=name,
        metapackage=metapackage,
        packages=packages,
        packages_by_repo=packages_by_repo,
        reponames_absent=[
            reponame for reponame in repometadata.active_names()
            if reponame not in packages_by_repo
        ])
Exemplo n.º 2
0
def metapackage_versions(name):
    packages_by_repo = defaultdict(list)
    for package in get_db().get_metapackage_packages(name):
        packages_by_repo[package.repo].append(package)

    for repo, packages in packages_by_repo.items():
        packages_by_repo[repo] = packageset_sort_by_version(packages)

    return flask.render_template(
        'metapackage-versions.html',
        reponames_absent=[
            reponame for reponame in repometadata.active_names()
            if reponame not in packages_by_repo
        ],
        packages_by_repo=packages_by_repo,
        metapackage=get_db().get_metapackage(name),
        name=name)
Exemplo n.º 3
0
def project_versions(name: str) -> Any:
    packages_by_repo: Dict[str, List[Package]] = defaultdict(list)

    packages = get_db().get_metapackage_packages(name)

    for package in packages:
        packages_by_repo[package.repo].append(package)

    for repo, repo_packages in packages_by_repo.items():
        packages_by_repo[repo] = packageset_sort_by_version(repo_packages)

    return flask.render_template(
        'project-versions.html',
        reponames_absent=[reponame for reponame in repometadata.active_names() if reponame not in packages_by_repo],
        packages=packages,
        packages_by_repo=packages_by_repo,
        metapackage=get_db().get_metapackage(name),
        name=name
    )