bodhi/model.py | 18 ++++++++++++++++++ bodhi/rss.py | 7 +++++-- 2 files changed, 23 insertions(+), 2 deletions(-)
New commits: commit 5e1876f05fc0f2da400d611ba20194880d5c0b69 Author: Luke Macken lmacken@redhat.com Date: Tue Jul 20 17:07:44 2010 -0400
Add support for filtering our feeds by package and release (#427)
diff --git a/bodhi/rss.py b/bodhi/rss.py index d763660..a147aae 100644 --- a/bodhi/rss.py +++ b/bodhi/rss.py @@ -43,7 +43,7 @@ class Feed(FeedController): if comments: return self.get_latest_comments(user=user) if package: - return self.get_package_updates(package) + return self.get_package_updates(package, release) if release: try: rel = Release.byName(release.upper()) @@ -141,7 +141,7 @@ class Feed(FeedController): entries = entries, )
- def get_package_updates(self, package): + def get_package_updates(self, package, release): entries = [] pkg = Package.byName(package) base = config.get('base_address') @@ -151,6 +151,9 @@ class Feed(FeedController): if len(entries) >= config.get('feeds.max_entries'): break
+ if release and not update.release.name == release: + continue + entries.append({ 'id' : base + url(update.get_url()), 'summary' : update.notes,
commit 402d0b6257a081bf5e978d15aa4594c8c2b58389 Author: Luke Macken lmacken@redhat.com Date: Tue Jul 20 17:07:21 2010 -0400
Add a PackageUpdate.time_in_testing property that returns a timedelta
diff --git a/bodhi/model.py b/bodhi/model.py index d1334a8..1bdff4b 100644 --- a/bodhi/model.py +++ b/bodhi/model.py @@ -984,6 +984,24 @@ class PackageUpdate(SQLObject): return self.status != 'obsolete' and 'stable' not in (self.request, self.status)
+ @property + def time_in_testing(self): + """ Return the number of days that this update has been in testing """ + timestamp = None + for comment in self.comments: + if comment.text == 'This update has been pushed to testing': + timestamp = comment.timestamp + if self.status == 'testing': + return datetime.utcnow() - timestamp + else: + break + if not timestamp: + return + for comment in self.comments: + if comment.text == 'This update has been pushed to stable': + return comment.timestamp - timestamp + return datetime.utcnow() - timestamp +
class Comment(SQLObject): timestamp = DateTimeCol(default=datetime.utcnow)