mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
When polishing cover ensure it has id='cover'
This commit is contained in:
parent
6aaee7085a
commit
4ad4d11535
@ -82,8 +82,8 @@ class OEBOutput(OutputFormatPlugin):
|
||||
self.log.warn('The cover image has an id != "cover". Renaming'
|
||||
' to work around bug in Nook Color')
|
||||
|
||||
import uuid
|
||||
newid = str(uuid.uuid4())
|
||||
from calibre.ebooks.oeb.base import uuid_id
|
||||
newid = uuid_id()
|
||||
|
||||
for item in manifest_items_with_id('cover'):
|
||||
item.set('id', newid)
|
||||
|
@ -157,6 +157,17 @@ def create_epub_cover(container, cover_path):
|
||||
with container.open(titlepage, 'wb') as f:
|
||||
f.write(raw)
|
||||
|
||||
# We have to make sure the raster cover item has id="cover" for the moron
|
||||
# that wrote the Nook firmware
|
||||
if raster_cover_item.get('id') != 'cover':
|
||||
from calibre.ebooks.oeb.base import uuid_id
|
||||
newid = uuid_id()
|
||||
for item in container.opf_xpath('//*[@id="cover"]'):
|
||||
item.set('id', newid)
|
||||
for item in container.opf_xpath('//*[@idref="cover"]'):
|
||||
item.set('idref', newid)
|
||||
raster_cover_item.set('id', 'cover')
|
||||
|
||||
spine = container.opf_xpath('//opf:spine')[0]
|
||||
ref = spine.makeelement(OPF('itemref'), idref=titlepage_item.get('id'))
|
||||
container.insert_into_xml(spine, ref, index=0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user