$def with (page, editions_page=False, render_times={}, summary=None, modal_links=None) $if page.type.key == '/type/work' and page.edition_count == 1: $ edit_url = page.editions[0].key + '?m=edit' $elif page.type.key in ["/type/work", "/type/edition", "/type/author"]: $ edit_url = page.url(suffix="/edit") $else: $ edit_url = page.key + "?m=edit" $ viewbook = "//%s/stream/XXX?ref=ol" % bookreader_host() $ prices = page.key.startswith('/books/') $ oclc_numbers = (page.oclc_numbers and page.oclc_numbers[0]) or "" $ isbn_13 = page.get_isbn13() $ isbn_10 = page.get_isbn10() $ asin = None $if page.get('identifiers'): $if page.identifiers.get('amazon'): $ asin = page.identifiers.amazon[0] $if isbn_10 and not asin: $ asin = isbn_10
$if page.volumes:

Browse

$for v in page.volumes: $if v.ia_id != "-":
$:render_template('covers/book_cover', page) $# Don't display add/change cover link for /books/ia:foo00bar pages $if not page.is_fake_record(): $:render_template('covers/change', page, ".edition-cover .bookCover img")
$if summary:
$:summary
$ render_times['databarWork: DonateModal'] = time() $:macros.DonateModal(page, ids={'isbn': isbn_13, 'asin': asin, 'prices': True}) $ render_times['databarWork: DonateModal'] = time() - render_times['databarWork: DonateModal'] $ work = (page.works and page.works[0]) or page $ edition = page.works and page $ render_times['databarWork: List widget'] = time() $ lists_widget = render_template('lists/widget', edition or work, include_rating=True, include_header=False, include_widget=True, include_showcase=False, user_lists_only=False) $ render_times['databarWork: List widget'] = time() - render_times['databarWork: List widget'] $# For the Works & Editions page, only use ground_truth_availability API for selected Edition $# if edition availability status is error $ render_times['databarWork: LoanStatus'] = time() $ expensive_check = page.get('availability', {}).get('status') in ['error'] $:macros.LoanStatus(page, allow_expensive_availability_check=expensive_check, secondary_action=editions_page, check_sponsorship=editions_page, sponsorship_help=editions_page, check_loan_status=editions_page, post=lists_widget) $ render_times['databarWork: LoanStatus'] = time() - render_times['databarWork: LoanStatus'] $if modal_links:
$:modal_links $if editions_page: $ render_times['databarWork: Book provider'] = time() $ book_provider = get_book_provider(page) $if book_provider: $:book_provider.render_download_options(page) $ render_times['databarWork: Book provider'] = time() - render_times['databarWork: Book provider']
$ prices = page.key.startswith('/books/') $ oclc_numbers = (page.oclc_numbers and page.oclc_numbers[0]) or "" $ isbn_13 = page.get_isbn13() $ isbn_10 = page.get_isbn10() $ asin = None $if page.get('identifiers'): $if page.identifiers.get('amazon'): $ asin = page.identifiers.amazon[0] $if isbn_10 and not asin: $ asin = isbn_10
$:macros.WorldcatLink(isbn=isbn_13, oclc_numbers=oclc_numbers, referer=page.url(relative=False))

$_('Buy this book')

$ render_times['databarWork: AffiliateLinks'] = time() $:macros.AffiliateLinks(page, {'isbn': isbn_13, 'asin': asin, 'prices': prices}) $ render_times['databarWork: AffiliateLinks'] = time() - render_times['databarWork: AffiliateLinks']
$if edition and edition.sponsorship_data:
$if edition.sponsorship_data.donor: $ donor = edition.sponsorship_data.donor $if edition.sponsorship_data.donor_account: $ donor = edition.sponsorship_data.donor_account.render_link() $:_('This book was generously donated by %(donor)s', donor=donor) $else: $_('This book was generously donated anonymously')
$if edition.sponsorship_data.donor_msg: $edition.sponsorship_data.donor_msg
$_("Learn more about Book Sponsorship")