@@ -31,12 +31,13 @@ class ConservancyFeedBase(Feed):
if hasattr(getattr(item, attr), 'year'):
year = getattr(getattr(item, attr), 'year')
break
return { 'year' : year }
class PressReleaseFeed(Feed):
get_absolute_url = '/feeds/news/'
title = "Software Freedom Conservancy News"
link = "/news/"
description = ""
def items(self):
return PressRelease.objects.filter(pub_date__lte=datetime.now(),
@@ -61,12 +62,13 @@ class OmnibusFeedType(Rss201rev2Feed):
super(OmnibusFeedType, self).add_item_elements(handler, item)
# Block things that don't have an enclosure from iTunes in
# case someone uploads this feed there.
handler.addQuickElement("itunes:block", 'Yes')
class OmnibusFeed(ConservancyFeedBase):
get_absolute_url = '/feeds/omnibus/'
feed_type = OmnibusFeedType
link ="/news/"
title = "The Software Freedom Conservancy"
description = "An aggregated feed of all RSS content available from the Software Freedom Conservancy, including both news items and blogs."
title_template = "feeds/omnibus_title.html"
description_template = "feeds/omnibus_description.html"
@@ -135,12 +137,13 @@ class OmnibusFeed(ConservancyFeedBase):
def item_extra_kwargs(self, item):
return super(OmnibusFeed, self).item_extra_kwargs(item)
class BlogFeed(ConservancyFeedBase):
link = "/blog/"
get_absolute_url = '/feeds/blog/'
def title(self):
answer = "The Software Freedom Conservancy Blog"
GET = self.request.GET
tags = []
@@ -235,17 +238,12 @@ class BlogFeed(ConservancyFeedBase):
tags = GET.getlist('tag')
queryset = queryset.filter(OR_filter('tags', 'slug', tags))
return queryset.order_by('-pub_date')[:10]
BlogFeed.get_absolute_url = '/feeds/blog/'
PressRelease.get_absolute_url = '/feeds/news/'
OmnibusFeed.get_absolute_url = '/feeds/omnibus/'
def view(request):
"""Listing of all available feeds
"""
feeds = feed_dict.values()
return render_to_response("feeds.html", {'feeds': feeds})