annotate gpp/news/feeds.py @ 505:a5d11471d031

Refactor the logic in the rate limiter decorator. Check to see if the request was ajax, as the ajax view always returns 200. Have to decode the JSON response to see if an error occurred or not.
author Brian Neal <bgneal@gmail.com>
date Sat, 03 Dec 2011 19:13:38 +0000
parents b4305e18d3af
children
rev   line source
gremmie@1 1 """
gremmie@1 2 This file contains the feed classes for the news application.
gremmie@1 3 """
bgneal@176 4 from django.contrib.syndication.views import Feed
bgneal@170 5
gremmie@1 6 from news.models import Story
bgneal@176 7 from core.functions import get_full_name
bgneal@176 8 from core.functions import copyright_str
bgneal@170 9
gremmie@1 10
gremmie@1 11 class LatestNewsFeed(Feed):
bgneal@170 12 """The Feed class for the news application"""
gremmie@1 13
bgneal@170 14 title = 'SurfGuitar101.com News Feed'
bgneal@170 15 link = '/feeds/news/'
bgneal@170 16 description = 'News articles and stories from SurfGuitar101.com'
bgneal@170 17 ttl = '720'
bgneal@176 18 author_name = 'Brian Neal'
bgneal@176 19 author_email = 'admin@surfguitar101.com'
gremmie@1 20
bgneal@176 21 def feed_copyright(self):
bgneal@176 22 return copyright_str()
bgneal@170 23
bgneal@170 24 def items(self):
bgneal@204 25 return Story.objects.order_by('-date_submitted')[:5]
bgneal@170 26
bgneal@176 27 def item_title(self, item):
bgneal@176 28 return item.title
bgneal@176 29
bgneal@176 30 def item_description(self, item):
bgneal@176 31 return item.short_text + item.long_text
bgneal@176 32
bgneal@176 33 def item_author_name(self, item):
bgneal@176 34 return get_full_name(item.submitter)
bgneal@176 35
bgneal@170 36 def item_pubdate(self, item):
bgneal@204 37 return item.date_submitted
bgneal@170 38
bgneal@170 39 def item_categories(self, item):
bgneal@170 40 return (item.category.title, )