Skip to content

Commit

Permalink
added/removed content according to a given Version
Browse files Browse the repository at this point in the history
  • Loading branch information
fao89 committed Dec 18, 2019
1 parent 2d415c3 commit 3219cde
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGES/5706.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
List added/removed content according to a given RepositoryVersion
22 changes: 18 additions & 4 deletions pulpcore/app/models/repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -449,19 +449,33 @@ def artifacts(self):
"""
Artifact.objects.filter(content__pk__in=self.content)

def added(self):
def added(self, base_version=None):
"""
Args:
base_version (pulpcore.app.models.RepositoryVersion): an optional repository version
Returns:
QuerySet: The Content objects that were added by this version.
"""
return Content.objects.filter(version_memberships__version_added=self)
if not base_version:
return Content.objects.filter(version_memberships__version_added=self)
versions = RepositoryVersion.objects.filter(
number__in=range(base_version.number + 1, self.number + 1), repository=self.repository)
return Content.objects.filter(version_memberships__version_added__in=versions)

def removed(self):
def removed(self, base_version=None):
"""
Args:
base_version (pulpcore.app.models.RepositoryVersion): an optional repository version
Returns:
QuerySet: The Content objects that were removed by this version.
"""
return Content.objects.filter(version_memberships__version_removed=self)
if not base_version:
return Content.objects.filter(version_memberships__version_removed=self)
versions = RepositoryVersion.objects.filter(
number__in=range(base_version.number + 1, self.number + 1), repository=self.repository)
return Content.objects.filter(version_memberships__version_removed__in=versions)

def contains(self, content):
"""
Expand Down

0 comments on commit 3219cde

Please sign in to comment.