- url(r'^file/(\d+)/$', views.file_managed, name="file"),
- url(r'^publish/(\d+)/$', views.publish, name="publish"),
- url(r'^convert/(\d+)/$', views.publish, {'publish': False}, name="convert"),
- url(r'^download/(\d+)/$', views.download, name="download"),
- url(r'^download/(\d+)\.(mp3|ogg|mkv)$', views.download, name="download"),
- url(r'^cancel/(\d+)/$', views.cancel_publishing, name="cancel_publishing"),
- url(r'^remove_to_archive/(\d+)/$', views.remove_to_archive, name="remove_to_archive"),
- url(r'^unmanaged/$', views.list_unmanaged, name="list_unmanaged"),
- url(r'^unmanaged/(.+)/$', views.file_unmanaged, name="file_unmanaged"),
- url(r'^move_to_new/(.+)/$', views.move_to_new, name="move_to_new"),
+ path('book-youtube-volume/<int:aid>/', views.book_youtube_volume, name="book_youtube_volume"),
+ path('file/<int:id>/', views.file_managed, name="file"),
+ path('publish/<int:aid>/', views.publish, name="publish"),
+ path('convert/<int:aid>/', views.publish, {'publish': False}, name="convert"),
+ path('download/<int:aid>/', views.download, name="download"),
+ path('download/<int:aid>.<slug:which>', views.download, name="download"),
+ path('cancel/<int:aid>/', views.cancel_publishing, name="cancel_publishing"),
+ path('remove_to_archive/<int:aid>/', views.remove_to_archive, name="remove_to_archive"),
+ path('unmanaged/', views.list_unmanaged, name="list_unmanaged"),
+ path('unmanaged/<path:filename>/', views.file_unmanaged, name="file_unmanaged"),
+ path('move_to_new/<path:filename>/', views.move_to_new, name="move_to_new"),