Update librarian.
[wolnelektury.git] / src / api / urls.py
index 8f99141..4fb321a 100644 (file)
@@ -1,35 +1,40 @@
-# -*- coding: utf-8 -*-
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
-from django.conf.urls import url, include
+from django.urls import path, include
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView
 import catalogue.views
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic import TemplateView
 import catalogue.views
-from api import handlers
-from api.piston_patch import oauth_user_auth
+from stats.utils import piwik_track_view
 from . import views
 
 
 urlpatterns = [
 from . import views
 
 
 urlpatterns = [
-    url(r'^oauth/request_token/$', views.OAuth1RequestTokenView.as_view()),
-    url(r'^oauth/authorize/$', oauth_user_auth, name='oauth_user_auth'),
-    url(r'^oauth/access_token/$', csrf_exempt(views.OAuth1AccessTokenView.as_view())),
+    path('oauth/request_token/', csrf_exempt(views.OAuth1RequestTokenView.as_view())),
+    path('oauth/authorize/', views.oauth_user_auth, name='oauth_user_auth'),
+    path('oauth/access_token/', csrf_exempt(views.OAuth1AccessTokenView.as_view())),
 
 
-    url(r'^$', TemplateView.as_view(template_name='api/main.html'), name='api'),
+    path('', TemplateView.as_view(template_name='api/main.html'), name='api'),
 
     # info boxes (used by mobile app)
 
     # info boxes (used by mobile app)
-    url(r'book/(?P<book_id>\d*?)/info\.html$', catalogue.views.book_info),
-    url(r'tag/(?P<tag_id>\d*?)/info\.html$', catalogue.views.tag_info),
+    path('book/<int:book_id>/info.html', catalogue.views.book_info),
+    path('tag/<int:tag_id>/info.html', catalogue.views.tag_info),
 
     # reading data
 
     # reading data
-    url(r'^reading/(?P<slug>[a-z0-9-]+)/$', views.BookUserDataView.as_view(), name='api_reading'),
-    url(r'^reading/(?P<slug>[a-z0-9-]+)/(?P<state>[a-z]+)/$', views.BookUserDataView.as_view(), name='api_reading'),
-    url(r'^username/$', views.UserView.as_view(), name='api_username'),
+    path('reading/<slug:slug>/',
+         piwik_track_view(views.BookUserDataView.as_view()),
+         name='api_reading'),
+    path('reading/<slug:slug>/<slug:state>/',
+         piwik_track_view(views.BookUserDataView.as_view()),
+         name='api_reading'),
+    path('username/',
+         piwik_track_view(views.UserView.as_view()),
+         name='api_username'),
 
 
-    url(r'^blog/$', views.BlogView.as_view()),
+    path('blog',
+         piwik_track_view(views.BlogView.as_view())),
 
 
-    url(r'^pictures/$', include('picture.api.urls')),
-    url(r'^', include('social.api.urls')),
-    url(r'^', include('catalogue.api.urls')),
+    path('pictures/', include('picture.api.urls')),
+    path('', include('social.api.urls')),
+    path('', include('catalogue.api.urls')),
 ]
 ]