Commit 9967e2d2 authored by Shelepnev Dmitry's avatar Shelepnev Dmitry
Browse files

Work with doublicate enclosure

parent 0aac9768
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ class opdsFeed(Atom1Feed):
                handler.addQuickElement("category", "", {"term": g['subsection'], "label": g['subsection']})    
            handler.characters("\n")        
            

class MainFeed(AuthFeed):
    feed_type = opdsFeed
    title = settings.TITLE
@@ -388,7 +389,7 @@ class SearchBooksFeed(AuthFeed):
            try:
                book_id = int(searchterms)
                mbook = Book.objects.get(book=book_id)
                books = Book.objects.filter(Upper(title)=mbook.title.upper, authors__in=mbook.authors, book!=book_id)
                books = Book.objects.filter(title=mbook.title, authors__in=mbook.authors).exclude(book=book_id)
            except:
                books={}                
        # Сортируем
@@ -474,12 +475,14 @@ class SearchBooksFeed(AuthFeed):
        return item['registerdate'] 
         
    def item_enclosures(self, item):
        return (
        enclosure = [
            opdsEnclosure(reverse("opds_catalog:download", kwargs={"book_id":item['id'],"zip":0}),"application/fb2" ,"http://opds-spec.org/acquisition/open-access"),
            opdsEnclosure(reverse("opds_catalog:download", kwargs={"book_id":item['id'],"zip":1}),"application/fb2+zip", "http://opds-spec.org/acquisition/open-access"),
            opdsEnclosure(reverse("opds_catalog:cover", kwargs={"book_id":item['id']}),"image/jpeg", "http://opds-spec.org/image"),
            opdsEnclosure(reverse("opds_catalog:searchbooks", kwargs={"book_id":item['id']}),"image/jpeg", "http://opds-spec.org/image"),
        )
        ]
        if item['doubles']>0:
            enclosure+=[opdsEnclosure(reverse("opds_catalog:searchbooks", kwargs={"searchtype":"d", "searchterms":item['id']}),"application/atom+xml;profile=opds-catalog", "related")]
        return enclosure
        
    def item_extra_kwargs(self, item): 
        return {'authors':item['authors'],'genres':item['genres']}