- Handle a //guide/reference[@cover] which specifies the raster image
    cover directly
This commit is contained in:
Marshall T. Vandegrift 2009-01-19 15:13:31 -05:00
parent 7e63bc95e2
commit 50d0417129
2 changed files with 7 additions and 3 deletions

View File

@ -12,7 +12,7 @@ import copy
import re import re
from lxml import etree from lxml import etree
from calibre.ebooks.oeb.base import namespace, barename from calibre.ebooks.oeb.base import namespace, barename
from calibre.ebooks.oeb.base import XHTML, XHTML_NS from calibre.ebooks.oeb.base import XHTML, XHTML_NS, OEB_DOCS
from calibre.ebooks.oeb.stylizer import Stylizer from calibre.ebooks.oeb.stylizer import Stylizer
from calibre.ebooks.oeb.transforms.flatcss import KeyMapper from calibre.ebooks.oeb.transforms.flatcss import KeyMapper
@ -96,7 +96,10 @@ class MobiMLizer(object):
href = oeb.guide['cover'].href href = oeb.guide['cover'].href
del oeb.guide['cover'] del oeb.guide['cover']
item = oeb.manifest.hrefs[href] item = oeb.manifest.hrefs[href]
oeb.manifest.remove(item) if item.spine_position is not None:
oeb.spine.remove(item)
if item.media_type in OEB_DOCS:
self.oeb.manifest.remove(item)
def mobimlize_spine(self): def mobimlize_spine(self):
for item in self.oeb.spine: for item in self.oeb.spine:

View File

@ -506,6 +506,7 @@ class Spine(object):
self.items.pop(index) self.items.pop(index)
for i in xrange(index, len(self.items)): for i in xrange(index, len(self.items)):
self.items[i].spine_position = i self.items[i].spine_position = i
item.spine_position = None
def __iter__(self): def __iter__(self):
for item in self.items: for item in self.items: