from catalogue.forms import BookImportForm
from catalogue.models import Book, Tag, BookMedia, Fragment
from catalogue.forms import BookImportForm
from catalogue.models import Book, Tag, BookMedia, Fragment
- fields = ['title', 'parent',
- 'xml', 'html', 'pdf', 'epub', 'txt',
+ fields = ['title', 'parent'] + Book.formats + [
- def read(self, request, slug):
- """ Returns details of a book, identified by a slug. """
+ @piwik_track
+ def read(self, request, book):
+ """ Returns details of a book, identified by a slug and lang. """
+ kwargs = Book.split_urlid(book)
+ if not kwargs:
+ return rc.NOT_FOUND
def read(self, request, tags, top_level=False):
""" Lists all books with given tags.
def read(self, request, tags, top_level=False):
""" Lists all books with given tags.
def read(self, request, category, slug):
""" Returns details of a tag, identified by category and slug. """
def read(self, request, category, slug):
""" Returns details of a tag, identified by category and slug. """
def read(self, request, category):
""" Lists all tags in the category (eg. all themes). """
def read(self, request, category):
""" Lists all tags in the category (eg. all themes). """
class FragmentDetailHandler(BaseHandler):
fields = ['book', 'anchor', 'text', 'url', 'themes']
class FragmentDetailHandler(BaseHandler):
fields = ['book', 'anchor', 'text', 'url', 'themes']
- def read(self, request, slug, anchor):
+ @piwik_track
+ def read(self, request, book, anchor):
categories = set(['author', 'epoch', 'kind', 'genre', 'book', 'theme'])
categories = set(['author', 'epoch', 'kind', 'genre', 'book', 'theme'])
def read(self, request, tags):
""" Lists all fragments with given book, tags, themes.
def read(self, request, tags):
""" Lists all fragments with given book, tags, themes.
- all_fields = ('url', 'title', 'description',
+ all_fields = ['url', 'title', 'description',
'parent', 'parent_number',
'tags',
'license', 'license_description', 'source_name',
'technical_editors', 'editors',
'author', 'sort_key',
'parent', 'parent_number',
'tags',
'license', 'license_description', 'source_name',
'technical_editors', 'editors',
'author', 'sort_key',
class BookChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
class BookChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
def read(self, request, since):
return self.book_changes(request, since)
def read(self, request, since):
return self.book_changes(request, since)
class TagChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
class TagChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
def read(self, request, since):
return self.tag_changes(request, since)
def read(self, request, since):
return self.tag_changes(request, since)
class ChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
class ChangesHandler(CatalogueHandler):
allowed_methods = ('GET',)
def read(self, request, since):
return self.changes(request, since)
def read(self, request, since):
return self.changes(request, since)