aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <askh@opera.com>2009-05-28 15:36:35 +0200
committerAsk Solem <askh@opera.com>2009-05-28 15:36:35 +0200
commit958dc16a2560af600d71a747e42450bfa2207ece (patch)
tree2b834a88fa69c3fc39d61f6fa9067c961e2238b4
parent925aa2ef91f15511ce7a3c97564f106d57d13623 (diff)
downloadchishop-958dc16a2560af600d71a747e42450bfa2207ece.tar.bz2
chishop-958dc16a2560af600d71a747e42450bfa2207ece.tar.xz
chishop-958dc16a2560af600d71a747e42450bfa2207ece.zip
Using "register" with distutils didn't work anymore. Fixed.
-rw-r--r--djangopypi/views.py41
1 files changed, 26 insertions, 15 deletions
diff --git a/djangopypi/views.py b/djangopypi/views.py
index 86fdd0d..8e7c37f 100644
--- a/djangopypi/views.py
+++ b/djangopypi/views.py
@@ -158,24 +158,35 @@ def submit_project_or_release(user, post_data, files):
158 return HttpResponse() 158 return HttpResponse()
159 159
160 160
161def simple(request, template_name="djangopypi/simple.html"): 161def register_or_upload(request, post_data, files):
162 if request.method == "POST": 162 user = login_basic_auth(request)
163 post_data, files = parse_weird_post_data(request.raw_post_data) 163 if not user:
164 action = post_data.get(":action") 164 return HttpResponseUnauthorized('PyPI')
165 if action == 'file_upload': 165
166 user = login_basic_auth(request) 166 login(request, user)
167 if not user: 167 if not request.user.is_authenticated():
168 return HttpResponseUnauthorized('PyPI') 168 return HttpResponseForbidden(
169 "Not logged in, or invalid username/password.")
170
171 return submit_project_or_release(user, post_data, files)
169 172
170 login(request, user) 173ACTIONS = {
171 if not request.user.is_authenticated(): 174 # file_upload is the action used with distutils ``sdist`` command.
172 return HttpResponseForbidden( 175 "file_upload": register_or_upload,
173 "Not logged in, or invalid username/password.")
174 176
175 return submit_project_or_release(user, post_data, files) 177 # submit is the :action used with distutils ``register`` command.
178 "submit": register_or_upload,
179}
176 180
177 return HttpResponseNotImplemented( 181
178 "The :action %s is not implemented" % action) 182def simple(request, template_name="djangopypi/simple.html"):
183 if request.method == "POST":
184 post_data, files = parse_weird_post_data(request.raw_post_data)
185 action_name = post_data.get(":action")
186 if action_name not in ACTIONS:
187 return HttpResponseNotImplemented(
188 "The action %s is not implemented" % action_name)
189 return ACTION[action](request, post_data, files)
179 190
180 dists = Project.objects.all().order_by("name") 191 dists = Project.objects.all().order_by("name")
181 context = RequestContext(request, { 192 context = RequestContext(request, {