Repository: fedora-infra/bodhi

Issue:
rss-feeds should have more speaking titles
eg.: https://bodhi.fedoraproject.org/rss/updates/?releases=F24
the feed is named "updates"
maybe it should be renamed to "Fedora XX Released Updates" where XX would be 24,...




Discussion:
I want to work on this issue! Can someone assist me?
I'm not very familiar with the code that does this, but the service that generates the update rss feed is here:

https://github.com/fedora-infra/bodhi/blob/2.3.2/bodhi/server/services/updates.py#L157-L316

And the rss renderer is here:

https://github.com/fedora-infra/bodhi/blob/2.3.2/bodhi/server/renderers.py#L8-L71
@cverna there are various parameters on which rss feed for updates can be retrieved (release, severity, submitted_since ...). Can we formulate a standard template for the title for ```updates```, ```comments```, ```users``` and ```overrides```

https://github.com/fedora-infra/bodhi/blob/develop/bodhi/server/renderers.py#L57-L64

Resolving patch:
diff --git a/bodhi/server/renderers.py b/bodhi/server/renderers.py
--- a/bodhi/server/renderers.py
+++ b/bodhi/server/renderers.py
@@ -56,17 +56,29 @@ def render(data, system):
 
         if 'updates' in data:
             key = 'updates'
+            feed_title = 'Released updates'
         elif 'users' in data:
             key = 'users'
+            feed_title = 'Bodhi users'
         elif 'comments' in data:
             key = 'comments'
+            feed_title = 'User comments'
         elif 'overrides' in data:
             key = 'overrides'
+            feed_title = 'Update overrides'
+
+        feed_description_list = []
+        for k in request.GET.keys():
+            feed_description_list.append('%s(%s)' % (k, request.GET[k]))
+        if feed_description_list:
+            feed_description = 'Filtered on: ' + ', '.join(feed_description_list)
+        else:
+            feed_description = "All %s" % (key)
 
         feed = FeedGenerator()
-        feed.title(key)
+        feed.title(feed_title)
         feed.link(href=request.url, rel='self')
-        feed.description(key)
+        feed.description(feed_description)
         feed.language(u'en')
 
         def linker(route, param, key):


Test patch:
diff --git a/bodhi/tests/server/services/test_updates.py b/bodhi/tests/server/services/test_updates.py
--- a/bodhi/tests/server/services/test_updates.py
+++ b/bodhi/tests/server/services/test_updates.py
@@ -1465,6 +1465,23 @@ def test_list_updates_rss(self):
                            headers={'Accept': 'application/atom+xml'})
         self.assertIn('application/rss+xml', res.headers['Content-Type'])
         self.assertIn('bodhi-2.0-1.fc17', res)
+        self.assertIn('Released updates', res)
+        self.assertIn('All updates', res)
+
+    def test_list_updates_rss_with_single_filter(self):
+        res = self.app.get('/rss/updates/', {'severity': 'low'},
+                           headers={'Accept': 'application/atom+xml'})
+        self.assertIn('application/rss+xml', res.headers['Content-Type'])
+        self.assertIn('Released updates', res)
+        self.assertIn('Filtered on: severity(low)', res)
+
+    def test_list_updates_rss_with_multiple_filters(self):
+        res = self.app.get('/rss/updates/', {'severity': 'low', 'type': 'security'},
+                           headers={'Accept': 'application/atom+xml'})
+        self.assertIn('application/rss+xml', res.headers['Content-Type'])
+        self.assertIn('Released updates', res)
+        self.assertIn('type(security)', res)
+        self.assertIn('severity(low)', res)
 
     def test_list_updates_html(self):
         res = self.app.get('/updates/',