Skip to content

Commit

Permalink
Merge pull request #49 from dgabrielson/master
Browse files Browse the repository at this point in the history
Changes for recent Django versions.
  • Loading branch information
popen2 committed Feb 10, 2015
2 parents 1356963 + 2b08d0c commit 5d6f203
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 13 deletions.
19 changes: 15 additions & 4 deletions djangopypi2/apps/pypi_frontend/distutils_request.py
Expand Up @@ -48,8 +48,10 @@ def parse_distutils_request(request):
One portion of this is the end marker: \r\n\r\n (what Django expects)
versus \n\n (what distutils is sending).
"""
# request.raw_post_data has been renamed request.body
# see: https://code.djangoproject.com/ticket/17323
try:
sep = request.raw_post_data.splitlines()[1]
sep = request.body.splitlines()[1]
except:
raise ValueError('Invalid post data')

Expand All @@ -59,18 +61,27 @@ def parse_distutils_request(request):
except Exception, e:
pass

for part in filter(lambda e: e.strip(), request.raw_post_data.split(sep)):
for part in filter(lambda e: e.strip(), request.body.split(sep)):
try:
header, content = part.lstrip().split('\n',1)
except Exception, e:
continue


# normalize line endings:
# newer distutils can submit \r\n end-of-line marks.
if header.endswith('\r'):
header = header[:-1]

if content.startswith('\r'):
content = content[1:]
if content.startswith('\n'):
content = content[1:]

if content.endswith('\n'):
content = content[:-1]

if content.endswith('\r'):
content = content[:-1]

headers = _parse_header(header)

if "name" not in headers:
Expand Down
4 changes: 2 additions & 2 deletions djangopypi2/apps/pypi_frontend/distutils_views.py
Expand Up @@ -197,8 +197,8 @@ def _handle_uploads(request, release):

return 'upload accepted'

def list_classifiers(request, mimetype='text/plain'):
response = HttpResponse(mimetype=mimetype)
def list_classifiers(request, content_type='text/plain'):
response = HttpResponse(content_type=content_type)
response.write(u'\n'.join(map(lambda c: c.name,Classifier.objects.all())))
return response

Expand Down
6 changes: 3 additions & 3 deletions djangopypi2/apps/pypi_frontend/views.py
Expand Up @@ -55,7 +55,7 @@ def simple_details(request, package_name):
return HttpResponseRedirect(reverse('djangopypi2-simple-package-info', kwargs=dict(package_name=package.name)))
return render_to_response('pypi_frontend/package_detail_simple.html',
context_instance=RequestContext(request, dict(package=package)),
mimetype='text/html')
content_type='text/html')

@_mirror_if_not_found('pypi')
def package_details(request, package_name):
Expand All @@ -67,10 +67,10 @@ def package_doap(request, package_name):
package = get_object_or_404(Package, name=package_name)
return render_to_response('pypi_frontend/package_doap.xml',
context_instance=RequestContext(request, dict(package=package)),
mimetype='text/xml')
content_type='text/xml')

def release_doap(request, package_name, version):
release = get_object_or_404(Release, package__name=package_name, version=version)
return render_to_response('pypi_frontend/release_doap.xml',
context_instance=RequestContext(request, dict(release=release)),
mimetype='text/xml')
content_type='text/xml')
2 changes: 1 addition & 1 deletion djangopypi2/apps/pypi_packages/feeds.py
Expand Up @@ -13,7 +13,7 @@ def __call__(self, request, *args, **kwargs):
except ObjectDoesNotExist:
raise Http404('Feed object does not exist.')
feedgen = self.get_feed(obj, request)
response = HttpResponse(mimetype=feedgen.mime_type)
response = HttpResponse(content_type=feedgen.mime_type)
feedgen.write(response, 'utf-8')
return response

Expand Down
6 changes: 3 additions & 3 deletions djangopypi2/apps/pypi_packages/release_views.py
Expand Up @@ -93,7 +93,7 @@ def manage_metadata(request, package_name, version):
'pypi_packages/release_manage.html',
dict(release=release, form=form),
context_instance = RequestContext(request),
mimetype = settings.DEFAULT_CONTENT_TYPE,
content_type = settings.DEFAULT_CONTENT_TYPE,
)

@user_maintains_package()
Expand All @@ -115,7 +115,7 @@ def manage_files(request, package_name, version):
'pypi_packages/release_manage_files.html',
dict(release=release, formset=formset, upload_form=DistributionUploadForm()),
context_instance = RequestContext(request),
mimetype = settings.DEFAULT_CONTENT_TYPE,
content_type = settings.DEFAULT_CONTENT_TYPE,
)

@user_maintains_package()
Expand All @@ -138,5 +138,5 @@ def upload_file(request, package_name, version):
'pypi_packages/release_upload_file.html',
dict(release=release, form=form),
context_instance = RequestContext(request),
mimetype = settings.DEFAULT_CONTENT_TYPE,
content_type = settings.DEFAULT_CONTENT_TYPE,
)

0 comments on commit 5d6f203

Please sign in to comment.