diff --git a/ietf/doc/feeds.py b/ietf/doc/feeds.py index b0c34fae6..2c7f6791f 100644 --- a/ietf/doc/feeds.py +++ b/ietf/doc/feeds.py @@ -110,10 +110,16 @@ class RfcFeed(Feed): title = "RFCs" author_name = "RFC Editor" link = "https://www.rfc-editor.org/rfc-index2.html" + + def get_object(self,request,year=None): + self.year = year def items(self): - cutoff = datetime.datetime.now() - datetime.timedelta(days=8) - rfc_events = DocEvent.objects.filter(type='published_rfc',time__gte=cutoff).order_by('-time') + if self.year: + rfc_events = DocEvent.objects.filter(type='published_rfc',time__year=self.year).order_by('-time') + else: + cutoff = datetime.datetime.now() - datetime.timedelta(days=8) + rfc_events = DocEvent.objects.filter(type='published_rfc',time__gte=cutoff).order_by('-time') results = [(e.doc, e.time) for e in rfc_events] for doc,time in results: doc.publication_time = time diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index a5286ef08..06fc3a0c3 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -807,6 +807,8 @@ class DocTestCase(TestCase): make_test_data() r = self.client.get("/feed/rfc/") self.assertTrue(r.status_code, 200) + r = self.client.get("/feed/rfc/2016") + self.assertTrue(r.status_code, 200) def test_state_help(self): url = urlreverse('ietf.doc.views_help.state_help', kwargs=dict(type="draft-iesg")) diff --git a/ietf/feed_urls.py b/ietf/feed_urls.py index 66702bf52..c31f01a6f 100644 --- a/ietf/feed_urls.py +++ b/ietf/feed_urls.py @@ -18,5 +18,6 @@ urlpatterns = [ url(r'^ipr/$', LatestIprDisclosuresFeed()), url(r'^liaison/(?Precent|from|to|subject)/(?:(?P[^/]+)/)?$', LiaisonStatementsFeed()), url(r'^wg-proceedings/$', LatestMeetingMaterialFeed()), - url(r'^rfc/$', RfcFeed()) + url(r'^rfc/$', RfcFeed()), + url(r'^rfc/(?P\d{4})/$', RfcFeed()), ]