From ec1fa40b67e65f87c410e45aad75d23137fa9f2a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 26 Feb 2026 09:17:54 +0530 Subject: [PATCH] Use safe_format() template errors should not break catalog generation completely --- src/calibre/library/catalogs/epub_mobi_builder.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/calibre/library/catalogs/epub_mobi_builder.py b/src/calibre/library/catalogs/epub_mobi_builder.py index f71b7b8bec..a0581a4235 100644 --- a/src/calibre/library/catalogs/epub_mobi_builder.py +++ b/src/calibre/library/catalogs/epub_mobi_builder.py @@ -2656,12 +2656,10 @@ class CatalogBuilder: elif isinstance(v, Tag): args[k] = str(v) generated_html = P('catalog/template.xhtml', data=True).decode('utf-8') - ## unsafe_format used to raise exceptions matching prior - ## behavior - generated_html = self.formatter.unsafe_format( + generated_html = self.formatter.safe_format( generated_html, args, - # _('Catalog template error:'), # for safe_format() + _('Catalog template error:'), self.db.new_api.get_proxy_metadata(book['id'])) generated_html = xml_replace_entities(generated_html) return BeautifulSoup(generated_html)