mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
OPF23: Also migrate the rater cover property
This commit is contained in:
parent
a9f8b465b7
commit
8fa2c9a54f
@ -8,9 +8,9 @@ from lxml import etree
|
|||||||
|
|
||||||
from calibre.ebooks.metadata.opf3 import (
|
from calibre.ebooks.metadata.opf3 import (
|
||||||
DC, OPF, XPath, create_rating, create_series, create_timestamp,
|
DC, OPF, XPath, create_rating, create_series, create_timestamp,
|
||||||
encode_is_multiple, ensure_id, parse_date, read_prefixes, read_refines,
|
encode_is_multiple, ensure_id, normalize_whitespace, parse_date, read_prefixes,
|
||||||
read_user_metadata2, refdef, remove_element, set_last_modified, set_refines,
|
read_refines, read_user_metadata2, refdef, remove_element, set_last_modified,
|
||||||
set_user_metadata3
|
set_refines, set_user_metadata3
|
||||||
)
|
)
|
||||||
from calibre.ebooks.metadata.utils import parse_opf, pretty_print_opf
|
from calibre.ebooks.metadata.utils import parse_opf, pretty_print_opf
|
||||||
|
|
||||||
@ -163,6 +163,17 @@ def upgrade_meta(root, data):
|
|||||||
meta.text = content
|
meta.text = content
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade_cover(root, data):
|
||||||
|
for item in XPath('./opf:metadata/opf:meta[@name="cover"]')(root):
|
||||||
|
remove_element(item, data.refines)
|
||||||
|
item_id = item.get('content')
|
||||||
|
for item in XPath('./opf:manifest/opf:item[@id and @href and @media-type]')(root):
|
||||||
|
if item.get('id') == item_id:
|
||||||
|
mt = (item.get('media-type') or '').lower()
|
||||||
|
if mt and 'xml' not in mt and 'html' not in mt:
|
||||||
|
item.set('properties', normalize_whitespace((item.get('properties') or '') + ' cover-image'))
|
||||||
|
|
||||||
|
|
||||||
def remove_invalid_attrs_in_dc_metadata(root, data):
|
def remove_invalid_attrs_in_dc_metadata(root, data):
|
||||||
for tag in XPath('//*[namespace-uri() = "{}"]'.format(DC('')[1:-1]))(root):
|
for tag in XPath('//*[namespace-uri() = "{}"]'.format(DC('')[1:-1]))(root):
|
||||||
for k in tuple(tag.attrib):
|
for k in tuple(tag.attrib):
|
||||||
@ -185,6 +196,7 @@ def upgrade_metadata(root):
|
|||||||
upgrade_series(root, data)
|
upgrade_series(root, data)
|
||||||
upgrade_custom(root, data)
|
upgrade_custom(root, data)
|
||||||
upgrade_meta(root, data)
|
upgrade_meta(root, data)
|
||||||
|
upgrade_cover(root, data)
|
||||||
|
|
||||||
remove_invalid_attrs_in_dc_metadata(root, data)
|
remove_invalid_attrs_in_dc_metadata(root, data)
|
||||||
set_last_modified(root, data.prefixes, data.refines)
|
set_last_modified(root, data.prefixes, data.refines)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user