From a3c262cebe06545be5efe89c822b080895ad476f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 8 May 2024 18:35:24 +0530 Subject: [PATCH] EPUB3 metadata: Dont fail to read metadata in the presence on invalid calibre user metadata in the OPF file with empty keys --- src/calibre/ebooks/metadata/opf3.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/opf3.py b/src/calibre/ebooks/metadata/opf3.py index 1f44642ab7..1cf6809517 100644 --- a/src/calibre/ebooks/metadata/opf3.py +++ b/src/calibre/ebooks/metadata/opf3.py @@ -1064,7 +1064,11 @@ def read_metadata(root, ver=None, return_extra_data=False): ans.link_maps = read_link_maps(root, prefixes, refines) or ans.link_maps ans.user_categories = read_user_categories(root, prefixes, refines) or ans.user_categories for name, fm in iteritems(read_user_metadata(root, prefixes, refines) or {}): - ans.set_user_metadata(name, fm) + try: + ans.set_user_metadata(name, fm) + except Exception: + import traceback + traceback.print_exc() if return_extra_data: ans = ans, ver, read_raster_cover(root, prefixes, refines), first_spine_item(root, prefixes, refines) return ans