1 from django
.shortcuts
import render
, get_object_or_404
2 from django
.contrib
.auth
import get_user_model
4 from mygpo
.utils
import parse_bool
5 from mygpo
.decorators
import requires_token
6 from mygpo
.subscriptions
import get_subscribed_podcasts
7 from mygpo
.web
.utils
import symbian_opml_changes
10 @requires_token(token_name
='subscriptions_token', denied_template
='user_subscriptions_denied.html')
11 def for_user(request
, username
):
12 User
= get_user_model()
13 user
= get_object_or_404(User
, username
=username
)
14 subscriptions
= get_subscribed_podcasts(user
, only_public
=True)
15 token
= user
.profile
.get_token('subscriptions_token')
17 return render(request
, 'user_subscriptions.html', {
18 'subscriptions': subscriptions
,
23 @requires_token(token_name
='subscriptions_token')
24 def for_user_opml(request
, username
):
25 User
= get_user_model()
26 user
= get_object_or_404(User
, username
=username
)
27 subscriptions
= get_subscribed_podcasts(user
, only_public
=True)
29 if parse_bool(request
.GET
.get('symbian', False)):
30 subscriptions
= map(symbian_opml_changes
, subscriptions
)
32 response
= render(request
, 'user_subscriptions.opml', {
33 'subscriptions': subscriptions
,
36 response
['Content-Disposition'] = 'attachment; filename=%s-subscriptions.opml' % username