X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/60817334eba7db4b2b45e640fe91f8dc157efc47..d54976be7b44bd0c8c3c2afac8f11b2408e6cb14:/apps/opds/views.py diff --git a/apps/opds/views.py b/apps/opds/views.py index 23c320e62..33ca9dff6 100644 --- a/apps/opds/views.py +++ b/apps/opds/views.py @@ -12,11 +12,12 @@ from django.utils.feedgenerator import Atom1Feed from django.conf import settings from django.http import Http404 from django.contrib.sites.models import Site +from django.utils.functional import lazy from basicauth import logged_in_or_basicauth, factory_decorator from catalogue.models import Book, Tag -from search.views import Search, SearchResult +from search.views import Search import operator import logging import re @@ -64,21 +65,22 @@ _root_feeds = ( ) +current_domain = lazy(lambda: Site.objects.get_current().domain, str)() def full_url(url): - return urljoin("http://%s" % Site.objects.get_current().domain, url) + return urljoin("http://%s" % current_domain, url) class OPDSFeed(Atom1Feed): link_rel = u"subsection" link_type = u"application/atom+xml" - _book_parent_img = full_url(os.path.join(settings.STATIC_URL, "img/book-parent.png")) + _book_parent_img = lazy(lambda: full_url(os.path.join(settings.STATIC_URL, "img/book-parent.png")), str)() try: _book_parent_img_size = unicode(os.path.getsize(os.path.join(settings.STATIC_ROOT, "img/book-parent.png"))) except: _book_parent_img_size = '' - _book_img = full_url(os.path.join(settings.STATIC_URL, "img/book.png")) + _book_img = lazy(lambda: full_url(os.path.join(settings.STATIC_URL, "img/book.png")), str)() try: _book_img_size = unicode(os.path.getsize(os.path.join(settings.STATIC_ROOT, "img/book.png"))) except: @@ -111,6 +113,7 @@ class OPDSFeed(Atom1Feed): u"length": self._book_parent_img_size, u"type": u"image/png"}) if item['pubdate'] is not None: + # FIXME: rfc3339_date is undefined, is this ever run? handler.addQuickElement(u"updated", rfc3339_date(item['pubdate']).decode('utf-8')) # Author information. @@ -127,6 +130,7 @@ class OPDSFeed(Atom1Feed): if item['unique_id'] is not None: unique_id = item['unique_id'] else: + # FIXME: get_tag_uri is undefined, is this ever run? unique_id = get_tag_uri(item['link'], item['pubdate']) handler.addQuickElement(u"id", unique_id) @@ -222,7 +226,7 @@ class ByCategoryFeed(Feed): author_link = u"http://wolnelektury.pl/" def get_object(self, request, category): - feed = [feed for feed in _root_feeds if feed['category']==category] + feed = [feed for feed in _root_feeds if feed['category'] == category] if feed: feed = feed[0] else: