From 5ff898af7b72ba74cfb9c6fae96c6c8deea08182 Mon Sep 17 00:00:00 2001 From: un-pogaz <46523284+un-pogaz@users.noreply.github.com> Date: Sat, 8 Feb 2025 10:41:22 +0100 Subject: [PATCH] DRY also fix regresion of displaying search terms --- src/calibre/ebooks/metadata/book/render.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/calibre/ebooks/metadata/book/render.py b/src/calibre/ebooks/metadata/book/render.py index 9f8a2b4147..55292ba0c8 100644 --- a/src/calibre/ebooks/metadata/book/render.py +++ b/src/calibre/ebooks/metadata/book/render.py @@ -411,18 +411,18 @@ def mi_to_html( _('Click to see books with {0}: {1} (derived from {2})').format( metadata['name'] or field, aval, val)), val) elif metadata['datatype'] == 'text': + try: + st = metadata['search_terms'][0] + except Exception: + st = field if metadata['is_multiple']: - try: - st = metadata['search_terms'][0] - except Exception: - st = field all_vals = mi.get(field) if not metadata.get('display', {}).get('is_names', False): all_vals = sorted(all_vals, key=sort_key) links = [] for x in all_vals: if metadata['is_custom']: - u, v = cc_search_action_with_data(field, x, book_id, metadata, mi, field) + u, v = cc_search_action_with_data(st, x, book_id, metadata, mi, field) v = f'{p(x)}' else: v = '{}'.format( @@ -433,10 +433,6 @@ def mi_to_html( links.append(v) val = value_list(metadata['is_multiple']['list_to_ui'], links) else: - try: - st = metadata['search_terms'][0] - except Exception: - st = field if metadata['is_custom']: u, v = cc_search_action_with_data(st, unescaped_val, book_id, metadata, mi, field) v = f'{p(unescaped_val)}' @@ -447,7 +443,11 @@ def mi_to_html( metadata['name'] or field, a(unescaped_val)), p(unescaped_val)) val = v + add_other_links(field, val) elif metadata['datatype'] == 'enumeration': - u, v = cc_search_action_with_data(field, unescaped_val, book_id, metadata, mi, field) + try: + st = metadata['search_terms'][0] + except Exception: + st = field + u, v = cc_search_action_with_data(st, unescaped_val, book_id, metadata, mi, field) val = f'{p(unescaped_val)}' + add_other_links(field, val) elif metadata['datatype'] == 'bool': val = '{}'.format(