Loading opds_catalog/__pycache__/feeds.cpython-35.pyc +169 B (38.9 KiB) File changed.No diff preview for this file type. View original file View changed file opds_catalog/__pycache__/urls.cpython-35.pyc +2 B (2.76 KiB) File changed.No diff preview for this file type. View original file View changed file opds_catalog/feeds.py +7 −4 Original line number Diff line number Diff line Loading @@ -532,6 +532,8 @@ class SearchAuthorsFeed(AuthFeed): authors = Author.objects.extra(where=["upper(last_name) like %s"], params=["%%%s%%"%searchterms.upper()]) elif searchtype == 'b': authors = Author.objects.extra(where=["upper(last_name) like %s"], params=["%s%%"%searchterms.upper()]) elif searchtype == 'e': authors = Author.objects.extra(where=["upper(last_name)=%s"], params=["%s"%searchterms.upper()]) return {"authors":authors, "searchterms":searchterms, "searchtype":searchtype, "page":page} def link(self, obj): Loading Loading @@ -732,13 +734,13 @@ class BooksFeed(AuthFeed): def items(self, obj): length, chars = obj if self.lang_code: sql="""select upper(substring(title,1,%(length)s)) as id, count(*) as cnt sql="""select %(length)s as l, upper(substring(title,1,%(length)s)) as id, count(*) as cnt from opds_catalog_book where lang_code=%(lang_code)s and upper(title) like '%(chars)s%%' group by upper(substring(title,1,%(length)s)) order by id"""%{'length':length, 'lang_code':self.lang_code, 'chars':chars} else: sql="""select upper(substring(title,1,%(length)s)) as id, count(*) as cnt sql="""select %(length)s as l, upper(substring(title,1,%(length)s)) as id, count(*) as cnt from opds_catalog_book where upper(title) like '%(chars)s%%' group by upper(substring(title,1,%(length)s)) Loading @@ -757,7 +759,8 @@ class BooksFeed(AuthFeed): if item.cnt>=settings.SPLITITEMS: return reverse("opds_catalog:chars_books", kwargs={"lang_code":self.lang_code,"chars":item.id}) else: return reverse("opds_catalog:searchbooks", kwargs={"searchtype":'b', "searchterms":item.id}) return reverse("opds_catalog:searchbooks", \ kwargs={"searchtype":'b' if len(item.id)==item.l else 'e', "searchterms":item.id}) def item_enclosures(self, item): return (opdsEnclosure(self.item_link(item),"application/atom+xml;profile=opds-catalog;kind=navigation", "subsection"),) Loading opds_catalog/urls.py +2 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,8 @@ urlpatterns = [ url(r'^search/books/(?P<searchtype>as)/(?P<searchterms>.+)/',feeds.SelectSeriesFeed(), name='searchbooks'), url(r'^search/books/u/0/',feeds.SearchBooksFeed(), name='bookshelf'), url(r'^search/authors/(?P<searchtype>[bm])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bm])/(?P<searchterms>.+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bme])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bme])/(?P<searchterms>.+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/series/(?P<searchtype>[bma])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchSeriesFeed(), name='searchseries'), url(r'^search/series/(?P<searchtype>[bma])/(?P<searchterms>.+)/',feeds.SearchSeriesFeed(), name='searchseries'), Loading Loading
opds_catalog/__pycache__/feeds.cpython-35.pyc +169 B (38.9 KiB) File changed.No diff preview for this file type. View original file View changed file
opds_catalog/__pycache__/urls.cpython-35.pyc +2 B (2.76 KiB) File changed.No diff preview for this file type. View original file View changed file
opds_catalog/feeds.py +7 −4 Original line number Diff line number Diff line Loading @@ -532,6 +532,8 @@ class SearchAuthorsFeed(AuthFeed): authors = Author.objects.extra(where=["upper(last_name) like %s"], params=["%%%s%%"%searchterms.upper()]) elif searchtype == 'b': authors = Author.objects.extra(where=["upper(last_name) like %s"], params=["%s%%"%searchterms.upper()]) elif searchtype == 'e': authors = Author.objects.extra(where=["upper(last_name)=%s"], params=["%s"%searchterms.upper()]) return {"authors":authors, "searchterms":searchterms, "searchtype":searchtype, "page":page} def link(self, obj): Loading Loading @@ -732,13 +734,13 @@ class BooksFeed(AuthFeed): def items(self, obj): length, chars = obj if self.lang_code: sql="""select upper(substring(title,1,%(length)s)) as id, count(*) as cnt sql="""select %(length)s as l, upper(substring(title,1,%(length)s)) as id, count(*) as cnt from opds_catalog_book where lang_code=%(lang_code)s and upper(title) like '%(chars)s%%' group by upper(substring(title,1,%(length)s)) order by id"""%{'length':length, 'lang_code':self.lang_code, 'chars':chars} else: sql="""select upper(substring(title,1,%(length)s)) as id, count(*) as cnt sql="""select %(length)s as l, upper(substring(title,1,%(length)s)) as id, count(*) as cnt from opds_catalog_book where upper(title) like '%(chars)s%%' group by upper(substring(title,1,%(length)s)) Loading @@ -757,7 +759,8 @@ class BooksFeed(AuthFeed): if item.cnt>=settings.SPLITITEMS: return reverse("opds_catalog:chars_books", kwargs={"lang_code":self.lang_code,"chars":item.id}) else: return reverse("opds_catalog:searchbooks", kwargs={"searchtype":'b', "searchterms":item.id}) return reverse("opds_catalog:searchbooks", \ kwargs={"searchtype":'b' if len(item.id)==item.l else 'e', "searchterms":item.id}) def item_enclosures(self, item): return (opdsEnclosure(self.item_link(item),"application/atom+xml;profile=opds-catalog;kind=navigation", "subsection"),) Loading
opds_catalog/urls.py +2 −2 Original line number Diff line number Diff line Loading @@ -34,8 +34,8 @@ urlpatterns = [ url(r'^search/books/(?P<searchtype>as)/(?P<searchterms>.+)/',feeds.SelectSeriesFeed(), name='searchbooks'), url(r'^search/books/u/0/',feeds.SearchBooksFeed(), name='bookshelf'), url(r'^search/authors/(?P<searchtype>[bm])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bm])/(?P<searchterms>.+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bme])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/authors/(?P<searchtype>[bme])/(?P<searchterms>.+)/',feeds.SearchAuthorsFeed(), name='searchauthors'), url(r'^search/series/(?P<searchtype>[bma])/(?P<searchterms>.+)/(?P<page>\d+)/',feeds.SearchSeriesFeed(), name='searchseries'), url(r'^search/series/(?P<searchtype>[bma])/(?P<searchterms>.+)/',feeds.SearchSeriesFeed(), name='searchseries'), Loading