#
from base64 import b64encode
import os.path
+from urlparse import urljoin
from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from catalogue.models import Book, Tag
from catalogue.views import books_starting_with
+from stats.utils import piwik_track
_root_feeds = (
{
def full_url(url):
- return "http://%s%s" % (Site.objects.get_current().domain, url)
+ return urljoin("http://%s" % Site.objects.get_current().domain, url)
class OPDSFeed(Atom1Feed):
def item_enclosure_length(self, book):
return book.root_ancestor.epub_file.size
-
+@piwik_track
class RootFeed(Feed):
feed_type = OPDSFeed
title = u'Wolne Lektury'
def item_description(self, item):
return item['description']
-
+@piwik_track
class ByCategoryFeed(Feed):
feed_type = OPDSFeed
link = u'http://www.wolnelektury.pl/'
return feed['title']
def items(self, feed):
- return (tag for tag in Tag.objects.filter(category=feed['category']) if tag.get_count() > 0)
+ return Tag.objects.filter(category=feed['category']).exclude(book_count=0)
def item_title(self, item):
return item.name
def item_description(self):
return u''
-
+@piwik_track
class ByTagFeed(AcquisitionFeed):
def link(self, tag):
return tag.get_absolute_url()
@factory_decorator(logged_in_or_basicauth())
+@piwik_track
class UserFeed(Feed):
feed_type = OPDSFeed
link = u'http://www.wolnelektury.pl/'
return u"Półki użytkownika %s" % user.username
def items(self, user):
- return (tag for tag in Tag.objects.filter(category='set', user=user) if tag.get_count() > 0)
+ return Tag.objects.filter(category='set', user=user).exclude(book_count=0)
def item_title(self, item):
return item.name
def item_description(self):
return u''
+# no class decorators in python 2.5
+#UserFeed = factory_decorator(logged_in_or_basicauth())(UserFeed)
+
@factory_decorator(logged_in_or_basicauth())
+@piwik_track
class UserSetFeed(AcquisitionFeed):
def link(self, tag):
return tag.get_absolute_url()
def items(self, tag):
return Book.tagged.with_any([tag])
+# no class decorators in python 2.5
+#UserSetFeed = factory_decorator(logged_in_or_basicauth())(UserSetFeed)
+@piwik_track
class SearchFeed(AcquisitionFeed):
description = u"Wyniki wyszukiwania na stronie WolneLektury.pl"
title = u"Wyniki wyszukiwania"