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 ])
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)
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 )