+ url(r'^fork/(?P<pk>\d+)/',
+ 'fork', name='catalogue_fork'),
+
+ url(r'^doc/(?P<pk>\d+)/publish$', 'publish', name="catalogue_publish"),
+ url(r'^doc/(?P<pk>\d+)/unpublish$', 'unpublish', name="catalogue_unpublish"),
+ # url(r'^(?P<name>[^/]+)/publish/(?P<version>\d+)$', 'publish', name="catalogue_publish"),
+
+ url(r'^(?P<pk>[^/]+)/schedule/$', 'book_schedule', name="catalogue_book_schedule"),
+ url(r'^(?P<pk>[^/]+)/owner/$', 'book_owner', name="catalogue_book_owner"),
+ url(r'^(?P<pk>[^/]+)/delete/$', 'book_delete', name="catalogue_book_delete"),
+
+ # url(r'^book/(?P<slug>[^/]+)/$', 'book', name="catalogue_book"),
+
+ url(r'^(?P<pk>[^/]+)/attachments/$',
+ login_required()(GalleryView.as_view()),
+ name="catalogue_book_gallery"),
+ # url(r'^attachments/$',
+ # login_required()(GalleryView.as_view()),
+ # name="catalogue_attachments"),
+ # url(r'^attachments/(?P<pk>\d+)/$',
+ # login_required()(GalleryView.as_view()),
+ # name="catalogue_attachments"),
+ url(r'^book/(?P<slug>[^/]+)/gallery/package$',
+ permission_required('catalogue.change_book')(GalleryPackageView.as_view()),
+ name="catalogue_book_gallery_package"),
+ # url(r'^book/(?P<slug>[^/]+)/xml$', 'book_xml', name="catalogue_book_xml"),
+ # url(r'^book/(?P<slug>[^/]+)/txt$', 'book_txt', name="catalogue_book_txt"),
+ url(r'^(?P<pk>\d+)/$', 'book_html', name="catalogue_html"),
+ url(r'^(?P<pk>\d+)/preview/$', 'book_html', {'preview': True}, name="catalogue_preview"),
+ url(r'^(?P<pk>\d+)/rev(?P<rev_pk>\d+)/preview/$', 'book_html', {'preview': True}, name="catalogue_preview_rev"),
+ url(r'^(?P<pk>\d+)/rev(?P<rev_pk>\d+)/pdf/$', 'book_pdf', name="catalogue_pdf"),
+ url(r'^(?P<pk>\d+)/rev(?P<rev_pk>\d+)/epub/$', 'book_epub', name="catalogue_epub"),