Mercurial > public > sg101
annotate gpp/news/feeds.py @ 318:c550933ff5b6
Fix a bug where you'd get an error when trying to delete a forum thread (topic does not exist). Apparently when you call topic.delete() the posts would get deleted, but the signal handler for each one would run, and it would try to update the topic's post count or something, but the topic was gone? Reworked the code a bit and explicitly delete the posts first. I also added a sync() call on the parent forum since post counts were not getting adjusted.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 Feb 2011 21:46:52 +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, ) |