merge search into pretty branch
[wolnelektury.git] / apps / opds / views.py
index cd91a74..c907fe1 100644 (file)
@@ -234,7 +234,7 @@ class ByCategoryFeed(Feed):
         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
@@ -285,7 +285,7 @@ class UserFeed(Feed):
         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
@@ -332,7 +332,11 @@ class SearchFeed(AcquisitionFeed):
     def get_object(self, request):
         """
         For OPDS 1.1 We should handle a query for search terms
-        and atom:author, atom:contributor, atom:title
+        and criteria provided either as opensearch or 'inline' query.
+        OpenSearch defines fields: atom:author, atom:contributor (treated as translator),
+        atom:title. Inline query provides author, title, categories (treated as book tags),
+        description (treated as content search terms).
+        
         if search terms are provided, we shall search for books
         according to Hint information (from author & contributror & title).