##// END OF EJS Templates
Rename "pull" request to "list"
Rename "pull" request to "list"

File last commit:

r1414:cbf56940 default
r1566:a1b54223 default
Show More
rss.py
84 lines | 2.2 KiB | text/x-python | PythonLexer
neko259
Implemented RSS support. This fixes #11
r89 from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404
neko259
Updated paginator for long page lists. Removed old get_threads method in the post manager
r596 from boards.models import Post, Tag, Thread
neko259
Moved imageboard settings to the boards settings module. Added setting to disable archive
r716 from boards import settings
neko259
Thread status field instead of bumpable and archived fields (per BB-73)
r1414 from boards.models.thread import STATUS_ARCHIVE
neko259
Implemented RSS support. This fixes #11
r89
neko259
Fixed thread RSS. Limit items count in RSS
r1400 __author__ = 'nekorin'
MAX_ITEMS = settings.get_int('RSS', 'MaxItems')
neko259
Implemented RSS support. This fixes #11
r89
neko259
Moved some settings to boards.settings
r333
neko259
Cleaned up code in some modules. Added a new style for the contributor roles.
r203 # TODO Make tests for all of these
class AllThreadsFeed(Feed):
neko259
Implemented RSS support. This fixes #11
r89
neko259
Implemented ini settings parser
r1153 title = settings.get('Version', 'SiteName') + ' - All threads'
neko259
Implemented RSS support. This fixes #11
r89 link = '/'
description_template = 'boards/rss/post.html'
def items(self):
neko259
Thread status field instead of bumpable and archived fields (per BB-73)
r1414 return Thread.objects.exclude(status=STATUS_ARCHIVE).order_by('-id')[:MAX_ITEMS]
neko259
Implemented RSS support. This fixes #11
r89
def item_title(self, item):
neko259
Fixed some issues with post model migration
r400 return item.get_opening_post().title
neko259
Implemented RSS support. This fixes #11
r89
def item_link(self, item):
neko259
Updated RSS module to use the new get_thread() method for posts
r626 return reverse('thread', args={item.get_opening_post_id()})
neko259
Implemented RSS support. This fixes #11
r89
def item_pubdate(self, item):
neko259
Fixed threads list RSS
r419 return item.get_pub_time()
neko259
Implemented RSS support. This fixes #11
r89
class TagThreadsFeed(Feed):
neko259
Cleaned up code in some modules. Added a new style for the contributor roles.
r203
neko259
Implemented RSS support. This fixes #11
r89 link = '/'
description_template = 'boards/rss/post.html'
def items(self, obj):
neko259
Thread status field instead of bumpable and archived fields (per BB-73)
r1414 return obj.get_threads().exclude(status=STATUS_ARCHIVE).order_by('-id')[:MAX_ITEMS]
neko259
Implemented RSS support. This fixes #11
r89
def get_object(self, request, tag_name):
return get_object_or_404(Tag, name=tag_name)
def item_title(self, item):
neko259
Fixed some issues with post model migration
r400 return item.get_opening_post().title
neko259
Implemented RSS support. This fixes #11
r89
def item_link(self, item):
neko259
Updated RSS module to use the new get_thread() method for posts
r626 return reverse('thread', args={item.get_opening_post_id()})
neko259
Implemented RSS support. This fixes #11
r89
def item_pubdate(self, item):
neko259
Fixed RSS
r402 return item.get_pub_time()
neko259
Implemented RSS support. This fixes #11
r89
def title(self, obj):
return obj.name
class ThreadPostsFeed(Feed):
neko259
Cleaned up code in some modules. Added a new style for the contributor roles.
r203
neko259
Implemented RSS support. This fixes #11
r89 link = '/'
description_template = 'boards/rss/post.html'
def items(self, obj):
neko259
Fixed thread RSS. Limit items count in RSS
r1400 return obj.get_thread().get_replies().order_by('-pub_time')[:MAX_ITEMS]
neko259
Implemented RSS support. This fixes #11
r89
def get_object(self, request, post_id):
neko259
Fixed thread RSS
r580 return get_object_or_404(Post, id=post_id)
neko259
Implemented RSS support. This fixes #11
r89
def item_title(self, item):
return item.title
def item_link(self, item):
neko259
Fixed RSS
r402 if not item.is_opening():
neko259
Updated RSS module to use the new get_thread() method for posts
r626 return reverse('thread', args={
item.get_thread().get_opening_post_id()
}) + "#" + str(item.id)
neko259
Cleaned up code in some modules. Added a new style for the contributor roles.
r203 else:
neko259
Implemented RSS support. This fixes #11
r89 return reverse('thread', args={item.id})
def item_pubdate(self, item):
return item.pub_time
def title(self, obj):
neko259
Fixed thread RSS
r580 return obj.title