X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/33f38948f6f42804f6baf7e431bb9a143daf0884..a0fa09c8c73de6236ccf296d5b54cb08ed5e97e4:/src/catalogue/views.py?ds=sidebyside diff --git a/src/catalogue/views.py b/src/catalogue/views.py index bba773d32..0a5ab5867 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -6,6 +6,7 @@ from collections import OrderedDict import random from django.conf import settings +from django.http.response import HttpResponseForbidden from django.template import RequestContext from django.template.loader import render_to_string from django.shortcuts import render_to_response, get_object_or_404, render, redirect @@ -27,6 +28,7 @@ from catalogue.helpers import get_top_level_related_tags from catalogue.models import Book, Collection, Tag, Fragment from catalogue.utils import split_tags from catalogue.models.tag import prefetch_relations +from wolnelektury.utils import is_crawler staff_required = user_passes_test(lambda user: user.is_staff) @@ -222,6 +224,9 @@ def tagged_object_list(request, tags, list_type): except ResponseInstead as e: return e.response + if is_crawler(request) and len(tags) > 1: + return HttpResponseForbidden('address removed from crawling. check robots.txt') + if list_type == 'gallery' and any(tag.category == 'set' for tag in tags): raise Http404 @@ -421,17 +426,9 @@ def book_short(request, pk): ))(ssi_expect(pk, int))) def book_wide(request, pk): book = get_object_or_404(Book, pk=pk) - extra_info = book.extra_info return render(request, 'catalogue/book_wide.html', { 'book': book, - 'parents': book.parents(), - 'tags': split_tags(book.tags.exclude(category__in=('set', 'theme'))), - 'show_lang': book.language_code() != settings.LANGUAGE_CODE, - - 'main_link': reverse('book_text', args=[book.slug]) if book.html_file else None, - 'extra_info': extra_info, - 'hide_about': extra_info.get('about', '').startswith('http://wiki.wolnepodreczniki.pl'), })