ignore unfilled placeholders, add an atom: namespace to opensearch.xml
[wolnelektury.git] / apps / opds / views.py
index 09aaa54..bb38b7b 100644 (file)
@@ -194,10 +194,10 @@ class AcquisitionFeed(Feed):
 class RootFeed(Feed):
     feed_type = OPDSFeed
     title = u'Wolne Lektury'
-    link = u'http://www.wolnelektury.pl/'
+    link = u'http://wolnelektury.pl/'
     description = u"Spis utworów na stronie http://WolneLektury.pl"
     author_name = u"Wolne Lektury"
-    author_link = u"http://www.wolnelektury.pl/"
+    author_link = u"http://wolnelektury.pl/"
 
     def items(self):
         return _root_feeds
@@ -214,10 +214,10 @@ class RootFeed(Feed):
 @piwik_track
 class ByCategoryFeed(Feed):
     feed_type = OPDSFeed
-    link = u'http://www.wolnelektury.pl/'
+    link = u'http://wolnelektury.pl/'
     description = u"Spis utworów na stronie http://WolneLektury.pl"
     author_name = u"Wolne Lektury"
-    author_link = u"http://www.wolnelektury.pl/"
+    author_link = u"http://wolnelektury.pl/"
 
     def get_object(self, request, category):
         feed = [feed for feed in _root_feeds if feed['category']==category]
@@ -274,7 +274,7 @@ class UserFeed(Feed):
     link = u'http://www.wolnelektury.pl/'
     description = u"Półki użytkownika na stronie http://WolneLektury.pl"
     author_name = u"Wolne Lektury"
-    author_link = u"http://www.wolnelektury.pl/"
+    author_link = u"http://wolnelektury.pl/"
 
     def get_object(self, request):
         return request.user
@@ -370,6 +370,11 @@ class SearchFeed(AcquisitionFeed):
             author = request.GET.get('author', '')
             title = request.GET.get('title', '')
             translator = request.GET.get('translator', '')
+
+            # Our client didn't handle the opds placeholders
+            if author == '{atom:author}': author = ''       
+            if title == '{atom:title}': title = ''
+            if translator == '{atom:contributor}': translator = ''
             categories = None
             fuzzy = False
 
@@ -384,7 +389,7 @@ class SearchFeed(AcquisitionFeed):
 
             if author:
                 print "narrow to author %s" % author
-                hint.tags(srch.search_tags(author, filter=srch.term_filter(Term('tag_category', 'author'))))
+                hint.tags(srch.search_tags(author, filt=srch.term_filter(Term('tag_category', 'author'))))
 
             if translator:
                 print "filter by translator %s" % translator
@@ -401,7 +406,7 @@ class SearchFeed(AcquisitionFeed):
             if title:
                 print "hint by book title %s" % title
                 q = srch.make_phrase(srch.get_tokens(title, field='title'), field='title')
-                hint.books(*srch.search_books(q, filter=flt))
+                hint.books(*srch.search_books(q, filt=flt))
 
             toks = srch.get_tokens(query)
             print "tokens: %s" % toks
@@ -428,7 +433,7 @@ class SearchFeed(AcquisitionFeed):
                         srch.make_phrase(srch.get_tokens(q, field=fld), field=fld)))
 
             flt = srch.chain_filters(filters)
-            books = srch.search_books(TermQuery(Term('is_book', 'true')), filter=flt)
+            books = srch.search_books(TermQuery(Term('is_book', 'true')), filt=flt)
             return books
 
     def get_link(self, query):