bodhi/model.py | 18 ++++++++++++++++++
bodhi/rss.py | 7 +++++--
2 files changed, 23 insertions(+), 2 deletions(-)
New commits:
commit 5e1876f05fc0f2da400d611ba20194880d5c0b69
Author: Luke Macken <lmacken(a)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(a)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)
Show replies by date