diff --git a/mainsite/urls.py b/mainsite/urls.py index 03089ad..478ab12 100644 --- a/mainsite/urls.py +++ b/mainsite/urls.py @@ -2,11 +2,18 @@ from django.conf.urls import url from . import views urlpatterns = [ - url(r'^$', views.HomeView.as_view(), name='homepage'), - url(r'^ecrire$', views.WriteArticleView.as_view(), name='write_article'), - url(r'^speciaux/', views.SpecialPublicationsView.as_view(), - name='special_publications'), - url(r'^(?P\d{4})-(?P\d{4})/', - views.YearView.as_view(), name='year_view'), - url(r'^latest$', views.latestPublication, name='latestPublication'), + url(r"^$", views.HomeView.as_view(), name="homepage"), + url(r"^robots.txt$", views.robots_view, name="robots"), + url(r"^ecrire$", views.WriteArticleView.as_view(), name="write_article"), + url( + r"^speciaux/", + views.SpecialPublicationsView.as_view(), + name="special_publications", + ), + url( + r"^(?P\d{4})-(?P\d{4})/", + views.YearView.as_view(), + name="year_view", + ), + url(r"^latest$", views.latestPublication, name="latestPublication"), ] diff --git a/mainsite/views.py b/mainsite/views.py index fbccc1b..c5e4652 100644 --- a/mainsite/views.py +++ b/mainsite/views.py @@ -1,30 +1,38 @@ from django.shortcuts import get_object_or_404, redirect from django.views.generic import TemplateView -from django.http import Http404 +from django.http import Http404, HttpResponse from mainsite.models import Publication, PublicationYear, SiteConfiguration +def robots_view(request): + """ Robots.txt view """ + body = "User-Agent: *\nDisallow: /\n" + return HttpResponse(body, content_type="text/plain") + + class HomeView(TemplateView): - ''' Website's homepage ''' - template_name = 'mainsite/homepage.html' + """ Website's homepage """ + + template_name = "mainsite/homepage.html" class WriteArticleView(TemplateView): - ''' Tell the readers how they can contribute to the BOcal ''' - template_name = 'mainsite/write_article.html' + """ Tell the readers how they can contribute to the BOcal """ + + template_name = "mainsite/write_article.html" class PublicationListView(TemplateView): - ''' Display a list of publications (generic class). + """ Display a list of publications (generic class). Reimplement `get_publications` (called with the url template args in a - place where you can Http404) in subclasses to get it working. ''' + place where you can Http404) in subclasses to get it working. """ - template_name = 'mainsite/publications_list_view.html' + template_name = "mainsite/publications_list_view.html" def initView(self): - ''' Cannot be __init__, we don't have **kwargs there ''' + """ Cannot be __init__, we don't have **kwargs there """ pass def get_context_data(self, **kwargs): @@ -37,13 +45,13 @@ class PublicationListView(TemplateView): if len(publications) == 0: raise Http404 - context['publications'] = publications + context["publications"] = publications return context class YearView(PublicationListView): - ''' Display a year worth of BOcals ''' + """ Display a year worth of BOcals """ def initView(self, year, nYear): try: @@ -58,9 +66,9 @@ class YearView(PublicationListView): def additional_context(self, year, nYear): return { - 'intro_text': self.pubYear.descr, - 'is_year_view': True, - 'year_range': self.pubYear.prettyName, + "intro_text": self.pubYear.descr, + "is_year_view": True, + "year_range": self.pubYear.prettyName, } def get_publications(self, year, nYear): @@ -68,24 +76,22 @@ class YearView(PublicationListView): class SpecialPublicationsView(PublicationListView): - ''' Display the list of special publications ''' + """ Display the list of special publications """ def additional_context(self): siteConf = SiteConfiguration.get_solo() return { - 'intro_text': siteConf.specialPublisDescr, - 'is_year_view': False, - 'list_title': "Numéros spéciaux", + "intro_text": siteConf.specialPublisDescr, + "is_year_view": False, + "list_title": "Numéros spéciaux", } def get_publications(self): - publications = Publication.objects\ - .filter(is_special=True)\ - .order_by('-date') + publications = Publication.objects.filter(is_special=True).order_by("-date") return publications def latestPublication(req): - ''' Redirects to the latest standard publication ''' + """ Redirects to the latest standard publication """ latestPubli = Publication.latest() return redirect(latestPubli.url)