From fb4504382b95891fecd01fbb6771f05ab431a9da Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 19 Apr 2018 07:08:42 +0530 Subject: [PATCH] EPUB 3 metadata: If the book defines more than one author sort value for an author use all of them instead of only the last one --- src/calibre/ebooks/metadata/opf3.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/opf3.py b/src/calibre/ebooks/metadata/opf3.py index 61b4c83f90..e6f38b1567 100644 --- a/src/calibre/ebooks/metadata/opf3.py +++ b/src/calibre/ebooks/metadata/opf3.py @@ -443,7 +443,7 @@ def read_authors(root, prefixes, refines): aus = None file_as = props.get('file-as') if file_as: - aus = file_as[-1][-1] + aus = authors_to_string([x[-1] for x in file_as]) else: aus = item.get(OPF('file-as')) or None return Author(normalize_whitespace(val), normalize_whitespace(aus)) @@ -617,9 +617,9 @@ def read_last_modified(root, prefixes, refines): except Exception: continue + def set_last_modified(root, prefixes, refines, val=None): pq = '%s:modified' % reserved_prefixes['dcterms'] - sq = '%s:w3cdtf' % reserved_prefixes['dcterms'] val = w3cdtf(val or utcnow()) for meta in XPath('./opf:metadata/opf:meta[@property]')(root): prop = expand_prefix(meta.get('property'), prefixes)