X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/5e463c73f3f1356eebc8f4607381538d4565ff62..0f63b71840c171609f7a267ca054a5d2a39a7f3f:/src/catalogue/feeds.py diff --git a/src/catalogue/feeds.py b/src/catalogue/feeds.py index 3bf1411b6..8658c8c55 100644 --- a/src/catalogue/feeds.py +++ b/src/catalogue/feeds.py @@ -1,10 +1,9 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django.contrib.sites.models import Site from django.contrib.syndication.views import Feed -from django.core.urlresolvers import reverse +from django.urls import reverse from catalogue import models @@ -29,8 +28,8 @@ class AudiobookFeed(Feed): 'daisy': 'WolneLektury.pl - audiobooki w formacie DAISY', } - def get_object(self, request, obj_type): - return {'type': obj_type, 'all': 'all' in request.GET} + def get_object(self, request, type): + return {'type': type, 'all': 'all' in request.GET} def title(self, args): return self.titles[args['type']] @@ -40,6 +39,7 @@ class AudiobookFeed(Feed): def items(self, args): objects = models.BookMedia.objects.order_by('-uploaded_at') + objects = objects.filter(book__findable=True) if type == 'all': objects = objects.filter(type__in=('mp3', 'ogg', 'daisy')) else: @@ -52,18 +52,18 @@ class AudiobookFeed(Feed): return item.name def item_categories(self, item): - return sorted(set(author.name for author in - item.book.tags.filter(category='author').iterator())) + return sorted(item.book.authors().values_list('name', flat=True)) def item_description(self, item): lines = [] - artist = item.extra_info.get('artist_name', None) + extra_info = item.get_extra_info_json() + artist = extra_info.get('artist_name', None) if artist is not None: - lines.append(u'Czyta: %s' % artist) - director = item.extra_info.get('director_name', None) + lines.append('Czyta: %s' % artist) + director = extra_info.get('director_name', None) if director is not None: - lines.append(u'Reżyseria: %s' % director) - return u'
\n'.join(lines) + lines.append('Reżyseria: %s' % director) + return '
\n'.join(lines) def item_link(self, item): return item.book.get_absolute_url()