Skip to content

Commit

Permalink
Filter out yanked releases
Browse files Browse the repository at this point in the history
  • Loading branch information
di committed Mar 13, 2020
1 parent 42b2988 commit 93b2bc0
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
4 changes: 2 additions & 2 deletions warehouse/legacy/api/json.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def json_project(project, request):
try:
release = (
request.db.query(Release)
.filter(Release.project == project)
.filter(Release.project == project, Release.yanked.is_(False))
.order_by(Release.is_prerelease.nullslast(), Release._pypi_ordering.desc())
.limit(1)
.one()
Expand Down Expand Up @@ -114,7 +114,7 @@ def json_release(release, request):
request.db.query(Release, File)
.options(Load(Release).load_only("version", "requires_python"))
.outerjoin(File)
.filter(Release.project == project)
.filter(Release.project == project, Release.yanked.is_(False))
.order_by(Release._pypi_ordering.desc(), File.filename)
.all()
)
Expand Down
15 changes: 10 additions & 5 deletions warehouse/packaging/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,9 @@ def __getitem__(self, version):
return (
session.query(Release)
.filter(
(Release.project == self)
& (Release.canonical_version == canonical_version)
Release.project == self,
Release.yanked.is_(False),
Release.canonical_version == canonical_version,
)
.one()
)
Expand All @@ -161,7 +162,11 @@ def __getitem__(self, version):
try:
return (
session.query(Release)
.filter((Release.project == self) & (Release.version == version))
.filter(
Release.project == self,
Release.version == version,
Release.yanked.is_(False),
)
.one()
)
except NoResultFound:
Expand Down Expand Up @@ -220,7 +225,7 @@ def all_versions(self):
return (
orm.object_session(self)
.query(Release.version, Release.created, Release.is_prerelease)
.filter(Release.project == self)
.filter(Release.project == self, Release.yanked.is_(False))
.order_by(Release._pypi_ordering.desc())
.all()
)
Expand All @@ -230,7 +235,7 @@ def latest_version(self):
return (
orm.object_session(self)
.query(Release.version, Release.created, Release.is_prerelease)
.filter(Release.project == self)
.filter(Release.project == self, Release.yanked.is_(False))
.order_by(Release.is_prerelease.nullslast(), Release._pypi_ordering.desc())
.first()
)
Expand Down
2 changes: 1 addition & 1 deletion warehouse/packaging/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def project_detail(project, request):
try:
release = (
request.db.query(Release)
.filter(Release.project == project)
.filter(Release.project == project, Release.yanked.is_(False))
.order_by(Release.is_prerelease.nullslast(), Release._pypi_ordering.desc())
.limit(1)
.one()
Expand Down

0 comments on commit 93b2bc0

Please sign in to comment.