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

This commit is contained in:
Kovid Goyal 2018-04-19 07:08:42 +05:30
parent d01236eff5
commit fb4504382b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -443,7 +443,7 @@ def read_authors(root, prefixes, refines):
aus = None aus = None
file_as = props.get('file-as') file_as = props.get('file-as')
if file_as: if file_as:
aus = file_as[-1][-1] aus = authors_to_string([x[-1] for x in file_as])
else: else:
aus = item.get(OPF('file-as')) or None aus = item.get(OPF('file-as')) or None
return Author(normalize_whitespace(val), normalize_whitespace(aus)) return Author(normalize_whitespace(val), normalize_whitespace(aus))
@ -617,9 +617,9 @@ def read_last_modified(root, prefixes, refines):
except Exception: except Exception:
continue continue
def set_last_modified(root, prefixes, refines, val=None): def set_last_modified(root, prefixes, refines, val=None):
pq = '%s:modified' % reserved_prefixes['dcterms'] pq = '%s:modified' % reserved_prefixes['dcterms']
sq = '%s:w3cdtf' % reserved_prefixes['dcterms']
val = w3cdtf(val or utcnow()) val = w3cdtf(val or utcnow())
for meta in XPath('./opf:metadata/opf:meta[@property]')(root): for meta in XPath('./opf:metadata/opf:meta[@property]')(root):
prop = expand_prefix(meta.get('property'), prefixes) prop = expand_prefix(meta.get('property'), prefixes)