mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Check doi in usual info fields
This commit is contained in:
parent
7b3c699c7a
commit
f6ed89ddb7
@ -9,7 +9,8 @@ from functools import partial
|
||||
from calibre import prints
|
||||
from calibre.constants import iswindows
|
||||
from calibre.ptempfile import TemporaryDirectory
|
||||
from calibre.ebooks.metadata import MetaInformation, string_to_authors, check_isbn
|
||||
from calibre.ebooks.metadata import MetaInformation, string_to_authors, \
|
||||
check_isbn, check_doi
|
||||
from calibre.utils.ipc.simple_worker import fork_job, WorkerError
|
||||
|
||||
#_isbn_pat = re.compile(r'ISBN[: ]*([-0-9Xx]+)')
|
||||
@ -134,6 +135,15 @@ def get_metadata(stream, cover=True):
|
||||
if 'xmp_metadata' in info:
|
||||
from calibre.ebooks.metadata.xmp import consolidate_metadata
|
||||
mi = consolidate_metadata(mi, info['xmp_metadata'])
|
||||
|
||||
if 'doi' not in mi.get_identifiers().iterkeys():
|
||||
for k,v in info.iteritems():
|
||||
if k != 'xmp_metadata':
|
||||
doi = check_doi(v)
|
||||
if doi:
|
||||
mi.set_identifiers({'doi':doi})
|
||||
break
|
||||
|
||||
if cdata:
|
||||
mi.cover_data = ('jpeg', cdata)
|
||||
return mi
|
||||
|
@ -13,7 +13,6 @@ from collections import defaultdict
|
||||
from lxml import etree
|
||||
from lxml.builder import ElementMaker
|
||||
|
||||
from calibre import prints
|
||||
from calibre import replace_entities
|
||||
from calibre.ebooks.metadata import check_isbn, check_doi
|
||||
from calibre.ebooks.metadata.book.base import Metadata
|
||||
|
Loading…
x
Reference in New Issue
Block a user