From 0f86483a4c33ab77a4ab1a40a51afbcc534fe144 Mon Sep 17 00:00:00 2001 From: dave Date: Sat, 4 May 2019 19:55:55 -0700 Subject: [PATCH] remove duplicate dist dirs --- repobot/pypiprovider.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/repobot/pypiprovider.py b/repobot/pypiprovider.py index 71434fc..5364ef7 100644 --- a/repobot/pypiprovider.py +++ b/repobot/pypiprovider.py @@ -266,12 +266,20 @@ class PipWeb(object): yield self.tpl.get_template("pypi/repo.html") \ .render(repo=repo, - dists=db().query(PipPackage).filter(PipPackage.repo == repo).order_by(PipPackage.dist).all()) + dists=self._get_dists(repo)) return yield self.tpl.get_template("pypi/root.html") \ .render(repos=db().query(PipRepo).order_by(PipRepo.name).all()) + def _get_dists(self, repo): + lastdist = None + for dist in db().query(PipPackage).filter(PipPackage.repo == repo).order_by(PipPackage.dist).all(): + if lastdist and dist.dist == lastdist: + continue + yield dist + lastdist = dist.dist + def handle_download(self, reponame, distname, filename): repo = get_repo(db(), reponame, create_ok=False) pkg = db().query(PipPackage).filter(PipPackage.repo == repo, PipPackage.fname == filename).first()