supporter wishbook feed round 1! let's see if it works

pull/1/head
Andromeda Yelton 2012-03-09 19:05:24 -05:00
parent 141bb54cc2
commit 0776d68b43
2 changed files with 34 additions and 3 deletions

29
core/feeds.py Normal file
View File

@ -0,0 +1,29 @@
from django.contrib.auth.models import User
from django.contrib.syndication.views import Feed
from django.shortcuts import get_object_or_404
class SupporterWishlistFeed(Feed):
def get_object(self, request, supporter):
return get_object_or_404(User, username=supporter)
def title(self, obj):
return "Latest wishbooks for %s on unglue.it" % obj.username
def description(self, obj):
return "Latest wishbooks for %s on unglue.it" % obj.username
def link(self, obj):
return "/%s/feed/" % obj.username
def item_title(self, item):
return "%s" % item.title
def item_link(self, item):
return "/work/%s" % item.id
# we're not getting a link object existing later in the system when
# we need it to; why not?
def items(self):
andromeda = User.objects.filter(username="andromeda2")[0]
return andromeda.wishlist.works.all().order_by('-id')[:5]

View File

@ -5,6 +5,7 @@ from django.views.generic import ListView, DetailView
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.conf import settings from django.conf import settings
from regluit.core.feeds import SupporterWishlistFeed
from regluit.core.models import Campaign from regluit.core.models import Campaign
from regluit.frontend.views import CampaignFormView, GoodreadsDisplayView, LibraryThingView, PledgeView, PledgeCompleteView, PledgeCancelView, FAQView from regluit.frontend.views import CampaignFormView, GoodreadsDisplayView, LibraryThingView, PledgeView, PledgeCompleteView, PledgeCancelView, FAQView
from regluit.frontend.views import CampaignListView, DonateView, WorkListView, UngluedListView, InfoPageView from regluit.frontend.views import CampaignListView, DonateView, WorkListView, UngluedListView, InfoPageView
@ -12,7 +13,7 @@ from regluit.frontend.views import CampaignListView, DonateView, WorkListView, U
urlpatterns = patterns( urlpatterns = patterns(
"regluit.frontend.views", "regluit.frontend.views",
url(r"^$", "home", name="home"), url(r"^$", "home", name="home"),
url(r"^supporter/(?P<supporter_username>.+)/$", "supporter", {'template_name': 'supporter.html'}, name="supporter"), url(r"^supporter/(?P<supporter_username>[^/]+)/$", "supporter", {'template_name': 'supporter.html'}, name="supporter"),
url(r"^search/$", "search", name="search"), url(r"^search/$", "search", name="search"),
url(r"^privacy/$", TemplateView.as_view(template_name="privacy.html"), url(r"^privacy/$", TemplateView.as_view(template_name="privacy.html"),
name="privacy"), name="privacy"),
@ -62,6 +63,8 @@ urlpatterns = patterns(
name="about"), name="about"),
url(r"^comments/$", "comment", name="comment"), url(r"^comments/$", "comment", name="comment"),
url(r"^info/(?P<template_name>[\w\.]*)$", InfoPageView.as_view()), url(r"^info/(?P<template_name>[\w\.]*)$", InfoPageView.as_view()),
url(r"^info/(?P<template_name>[\w\.]*)$", InfoPageView.as_view()),
url(r'^supporter/(?P<supporter>[^/]+)/feed/$', SupporterWishlistFeed()),
) )
if not settings.IS_PREVIEW: if not settings.IS_PREVIEW:
@ -71,5 +74,4 @@ if not settings.IS_PREVIEW:
url(r"^goodreads/clear_wishlist/$","clear_wishlist", name="clear_wishlist"), url(r"^goodreads/clear_wishlist/$","clear_wishlist", name="clear_wishlist"),
url(r"^donate/$", DonateView.as_view(), name="donate"), url(r"^donate/$", DonateView.as_view(), name="donate"),
url(r"^celery/clear/$","clear_celery_tasks", name="clear_celery_tasks"), url(r"^celery/clear/$","clear_celery_tasks", name="clear_celery_tasks"),
) )