Replace the Http404 in release/views.py if the changelog file is not

found with a simple error message, this mimicks the way the rest of the
Datatracker is handling missing files and avoids an annoying 404 when
running the test-crawler without all directories set up
 - Legacy-Id: 7105
This commit is contained in:
Ole Laursen 2014-01-10 17:55:50 +00:00
parent 5dcd140a63
commit fe6c2d67c4

View file

@ -4,7 +4,7 @@ import os
from django.template import RequestContext
from django.shortcuts import render_to_response
from django.conf import settings
from django.http import Http404
from django.http import HttpResponse
import changelog
@ -13,14 +13,14 @@ def release(request, version=None):
if os.path.exists(settings.CHANGELOG_PATH):
log_entries = changelog.parse(settings.CHANGELOG_PATH)
else:
raise Http404()
return HttpResponse("Error: changelog file %s not found" % settings.CHANGELOG_PATH)
next = None
for entry in log_entries:
if next:
next.prev = entry
entry.next = next
next = entry
entries = dict([ (entry.version, entry) for entry in log_entries])
entries = dict((entry.version, entry) for entry in log_entries)
if version == None or version not in entries:
version = log_entries[0].version
return render_to_response('release/release.html', { 'releases': log_entries, 'version': version, 'entry': entries[version], }, context_instance=RequestContext(request))