-def books_by_author(aid):
- use_filters = get_config().getint('filters', 'use_in_books_list', 1)
- columns = get_config().getlist('columns', 'book', ['title'])
- author = Author.get(aid)
- if use_filters:
- join_expressions = []
- join_expressions.append(Book.j.authors)
- join_expressions.append(Author.q.id == aid)
- books = search_books('full', None, {}, join_expressions,
- orderBy=('series', 'ser_no', 'title', '-date'),
- use_filters=use_filters)
- else:
- books = Book.select(
- Book.j.authors & (Author.q.id == aid),
- orderBy=['series', 'ser_no', 'title'],
- )
-
- return {
- 'books_by_author': {author.fullname: list(books)},
- 'columns': columns,
- }