aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <askh@modwheel.net>2009-03-17 15:08:56 +0100
committerAsk Solem Hoel <askh@opera.com>2009-03-17 15:08:56 +0100
commit86fa508407289814f81ce7a2c4c46055c55c2374 (patch)
tree68aa41357245410a443981c55620c0332a5e61a4
parentcbc39e303848aba5c3b691588d46db3e40d26cfb (diff)
downloadchishop-86fa508407289814f81ce7a2c4c46055c55c2374.tar.bz2
chishop-86fa508407289814f81ce7a2c4c46055c55c2374.tar.xz
chishop-86fa508407289814f81ce7a2c4c46055c55c2374.zip
Raise HTTP 404 on missing projects
-rw-r--r--djangopypi/views.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/djangopypi/views.py b/djangopypi/views.py
index fc4061d..b1323fb 100644
--- a/djangopypi/views.py
+++ b/djangopypi/views.py
@@ -30,7 +30,8 @@ POSSIBILITY OF SUCH DAMAGE.
30 30
31""" 31"""
32 32
33from django.http import HttpResponse, HttpResponseBadRequest, QueryDict 33from django.http import Http404, HttpResponse, HttpResponseBadRequest
34from django.http import QueryDict
34from django.shortcuts import render_to_response 35from django.shortcuts import render_to_response
35from djangopypi.models import Project 36from djangopypi.models import Project
36from djangopypi.forms import ProjectRegisterForm 37from djangopypi.forms import ProjectRegisterForm
@@ -92,8 +93,11 @@ def simple(request, template_name="djangopypi/simple.html"):
92 93
93def show_links(request, dist_name, 94def show_links(request, dist_name,
94 template_name="djangopypi/show_links.html"): 95 template_name="djangopypi/show_links.html"):
95 releases = Project.objects.get(name=dist_name) \ 96 try:
96 .releases.all().order_by('-version') 97 releases = Project.objects.get(name=dist_name) \
98 .releases.all().order_by('-version')
99 except Project.DoesNotExist:
100 raise Http404
97 101
98 context = RequestContext(request, { 102 context = RequestContext(request, {
99 "dist_name": dist_name, 103 "dist_name": dist_name,
@@ -105,8 +109,11 @@ def show_links(request, dist_name,
105 109
106def show_version(request, dist_name, version, 110def show_version(request, dist_name, version,
107 template_name="djangopypi/show_version.html"): 111 template_name="djangopypi/show_version.html"):
108 release = Project.objects.get(name=dist_name).releases \ 112 try:
109 .get(version=version) 113 release = Project.objects.get(name=dist_name).releases \
114 .get(version=version)
115 except Project.DoesNotExist:
116 raise Http404()
110 117
111 context = RequestContext(request, { 118 context = RequestContext(request, {
112 "dist_name": dist_name, 119 "dist_name": dist_name,