[PATCH] Allow to download public bundle as mbox
Jeremy Kerr
jk at ozlabs.org
Tue Nov 6 00:41:15 EST 2012
Hi Simo,
> Downloading single patches anonimously is allowed, we may as well allow
> downloading public bundles as mboxes.
Sounds good, but:
> diff --git a/apps/patchwork/urls.py b/apps/patchwork/urls.py
> index 10fc3b9..034fbb3 100644
> --- a/apps/patchwork/urls.py
> +++ b/apps/patchwork/urls.py
> @@ -67,6 +67,8 @@ urlpatterns = patterns('',
> # public view for bundles
> (r'^bundle/(?P<username>[^/]*)/(?P<bundlename>[^/]*)/$',
> 'patchwork.views.bundle.public'),
> + (r'^bundle/(?P<bundlename>[^/]*)/mbox/download/$',
> + 'patchwork.views.bundle.public_mbox'),
>
> (r'^confirm/(?P<key>[0-9a-f]+)/$', 'patchwork.views.confirm'),
This will mean that the bundle names will need to be unique amongst all
users. How about just adding a "/mbox/" on the end of the public bundle URL?
> diff --git a/apps/patchwork/views/bundle.py b/apps/patchwork/views/bundle.py
> index e418b3a..d36c790 100644
> --- a/apps/patchwork/views/bundle.py
> +++ b/apps/patchwork/views/bundle.py
> @@ -191,3 +191,11 @@ def public(request, username, bundlename):
> context['bundle'] = bundle
>
> return render_to_response('patchwork/bundle-public.html', context)
> +
> +def public_mbox(request, bundlename):
> + bundle = get_object_or_404(Bundle, name = bundlename, public = True)
> + response = HttpResponse(mimetype='text/plain')
> + response['Content-Disposition'] = 'attachment; filename=bundle-%s.mbox' % \
> + bundle.name
> + response.write(bundle.mbox())
> + return response
Might be good to declare a function which takes a bundle, and returns a
HttpResponse, to share the common code between public_mbox() and mbox().
Cheers,
Jeremy
More information about the Patchwork
mailing list