1 from django
.conf
.urls
import url
2 from django
.contrib
.auth
.views
import logout
3 from django
.views
.generic
.base
import TemplateView
, RedirectView
5 from mygpo
.web
.logo
import CoverArt
8 from .views
import subscriptions
, settings
, device
, users
17 url(r
'^logo/(?P<size>\d+)/(?P<prefix>.{3})/(?P<filename>[^/]*)$',
27 url
='http://gpoddernet.readthedocs.org/en/latest/user/index.html',
33 TemplateView
.as_view(template_name
='developer.html')),
36 TemplateView
.as_view(template_name
='contribute.html'),
40 TemplateView
.as_view(template_name
='privacy_policy.html'),
41 name
='privacy-policy'),
43 url(r
'^user/(?P<username>[\w.+-]+)/subscriptions$',
44 subscriptions
.for_user
,
45 name
='shared-subscriptions'),
47 url(r
'^user/(?P<username>[\w.+-]+)/subscriptions\.opml$',
48 subscriptions
.for_user_opml
,
49 name
='shared-subscriptions-opml'),
55 url(r
'^account/privacy$',
59 url(r
'^account/profile$',
60 settings
.ProfileView
.as_view(),
63 url(r
'^account/google/remove$',
64 settings
.AccountRemoveGoogle
.as_view(),
65 name
='account-google-remove'),
67 url(r
'^account/flattr$',
68 settings
.FlattrSettingsView
.as_view(),
69 name
='flattr-settings'),
71 url(r
'^account/flattr/token$',
72 settings
.FlattrTokenView
.as_view(),
75 url(r
'^account/flattr/logout$',
76 settings
.FlattrLogout
.as_view(),
77 name
='flattr-logout'),
79 url(r
'^account/privacy/default-public$',
80 settings
.DefaultPrivacySettings
.as_view(public
=True),
81 name
='privacy_default_public'),
83 url(r
'^account/privacy/default-private$',
84 settings
.DefaultPrivacySettings
.as_view(public
=False),
85 name
='privacy_default_private'),
87 url(r
'^account/privacy/(?P<podcast_id>[\w]+)/public$',
88 settings
.PodcastPrivacySettings
.as_view(public
=True),
89 name
='privacy_podcast_public'),
91 url(r
'^account/privacy/(?P<podcast_id>[\w]+)/private$',
92 settings
.PodcastPrivacySettings
.as_view(public
=False),
93 name
='privacy_podcast_private'),
95 url(r
'^account/delete$',
96 settings
.delete_account
,
97 name
='delete-account'),
103 url(r
'^devices/create-device$',
105 name
='device-create'),
107 url(r
'^device/(?P<uid>[\w.-]+)\.opml$',
111 url(r
'^device/(?P<uid>[\w.-]+)$',
115 url(r
'^device/(?P<uid>[\w.-]+)/symbian.opml$',
117 name
='device-symbian-opml'),
119 url(r
'^device/(?P<uid>[\w.-]+)/sync$',
123 url(r
'^device/(?P<uid>[\w.-]+)/unsync$',
125 name
='device-unsync'),
127 url(r
'^device/(?P<uid>[\w.-]+)/resync$',
129 name
='trigger-sync'),
131 url(r
'^device/(?P<uid>[\w.-]+)/delete$',
133 name
='device-delete'),
135 url(r
'^device/(?P<uid>[\w.-]+)/remove$',
136 device
.delete_permanently
,
137 name
='device-delete-permanently'),
139 url(r
'^device/(?P<uid>[\w.-]+)/undelete$',
141 name
='device-undelete'),
143 url(r
'^device/(?P<uid>[\w.-]+)/edit$',
147 url(r
'^device/(?P<uid>[\w.-]+)/update$',
149 name
='device-update'),
151 url(r
'^device/(?P<uid>[\w.-]+)/upload-opml$',
153 name
='device-upload-opml'),
155 url(r
'^register/restore_password$',
156 users
.restore_password
,
157 name
='restore-password'),
160 users
.LoginView
.as_view(),
163 url(r
'^login/google$',
164 users
.GoogleLogin
.as_view(),
165 name
='login-google'),
167 url(r
'^login/oauth2callback$',
168 users
.GoogleLoginCallback
.as_view(),
169 name
='login-google-callback'),
173 kwargs
={'next_page': '/'},