$def with(query, title=None, sort='new', key='', limit=20, search=False, has_fulltext_only=True, url=None) $# Takes following parameters $# * query (str) -- Any arbitrary Open Library search query, e.g. subject:"Textbooks" $# * title (str) -- A title to show above the carousel (links to /search?q=query) $# * sort (str) -- optional sort param defined within work_search.py `work_search` $# * key (str) -- unique name of the carousel in analytics $# * limit (int) -- initial number of books to pull $# * search (bool) -- whether to include search within collection $# Enable search within this query $if search:
$if has_fulltext_only:
$code: params = { 'q': query } url = url or "/search?" + urlencode(params) if has_fulltext_only: params['has_fulltext'] = 'true' results = work_search(params, sort=sort, limit=limit) books = [storage(b) for b in (results.get('docs', []))] load_more = {"url": "/search.json?" + urlencode(params), "limit": limit } $:render_template("books/custom_carousel", books=books, title=title, url=url, key=key, load_more=load_more)