Fix #2624 (KeyError: 'last_læight_of_the_sun')

This commit is contained in:
Kovid Goyal 2009-06-17 08:44:53 -07:00
parent 5b1aacfdca
commit 77bfb1c08d
3 changed files with 10 additions and 10 deletions

View File

@ -478,15 +478,15 @@ class MobiWriter(object):
# Variables for trailing byte sequence # Variables for trailing byte sequence
tbsType = 0x00 tbsType = 0x00
tbSequence = "" tbSequence = ""
# Generate TBS for type 0x002 - mobi_book # Generate TBS for type 0x002 - mobi_book
if self._initialIndexRecordFound == False : if self._initialIndexRecordFound == False :
# Is there any indexed content yet? # Is there any indexed content yet?
if self._HTMLRecords[nrecords].currentSectionNodeCount == -1 : if self._HTMLRecords[nrecords].currentSectionNodeCount == -1 :
# No indexing data - write vwi length of 1 only # No indexing data - write vwi length of 1 only
tbSequence = decint(len(tbSequence) + 1, DECINT_FORWARD) tbSequence = decint(len(tbSequence) + 1, DECINT_FORWARD)
else : else :
# First indexed HTML record is a special case # First indexed HTML record is a special case
# One or more nodes # One or more nodes
@ -495,7 +495,7 @@ class MobiWriter(object):
tbsType = 2 tbsType = 2
else : else :
tbsType = 6 tbsType = 6
tbSequence = decint(tbsType, DECINT_FORWARD) tbSequence = decint(tbsType, DECINT_FORWARD)
tbSequence += decint(0x00, DECINT_FORWARD) tbSequence += decint(0x00, DECINT_FORWARD)
# Don't write a nodecount for opening type 2 record # Don't write a nodecount for opening type 2 record
@ -1104,7 +1104,7 @@ class MobiWriter(object):
exth.write(data) exth.write(data)
nrecs += 1 nrecs += 1
if oeb.metadata.cover: if oeb.metadata.cover:
id = str(oeb.metadata.cover[0]) id = unicode(oeb.metadata.cover[0])
item = oeb.manifest.ids[id] item = oeb.manifest.ids[id]
href = item.href href = item.href
index = self._images[href] - 1 index = self._images[href] - 1

View File

@ -725,7 +725,7 @@ class Manifest(object):
self._data = data self._data = data
def __repr__(self): def __repr__(self):
return 'Item(id=%r, href=%r, media_type=%r)' \ return u'Item(id=%r, href=%r, media_type=%r)' \
% (self.id, self.href, self.media_type) % (self.id, self.href, self.media_type)
def _parse_xhtml(self, data): def _parse_xhtml(self, data):

View File

@ -40,7 +40,7 @@ class SVGRasterizer(object):
@classmethod @classmethod
def generate(cls, opts): def generate(cls, opts):
return cls() return cls()
def __call__(self, oeb, context): def __call__(self, oeb, context):
oeb.logger.info('Rasterizing SVG images...') oeb.logger.info('Rasterizing SVG images...')
self.oeb = oeb self.oeb = oeb
@ -98,7 +98,7 @@ class SVGRasterizer(object):
data = "data:%s;base64,%s" % (linkee.media_type, data) data = "data:%s;base64,%s" % (linkee.media_type, data)
elem.attrib[XLINK('href')] = data elem.attrib[XLINK('href')] = data
return svg return svg
def rasterize_spine(self): def rasterize_spine(self):
for item in self.oeb.spine: for item in self.oeb.spine:
html = item.data html = item.data
@ -182,12 +182,12 @@ class SVGRasterizer(object):
elem.text = None elem.text = None
for child in elem: for child in elem:
elem.remove(child) elem.remove(child)
def rasterize_cover(self): def rasterize_cover(self):
covers = self.oeb.metadata.cover covers = self.oeb.metadata.cover
if not covers: if not covers:
return return
cover = self.oeb.manifest.ids[str(covers[0])] cover = self.oeb.manifest.ids[unicode(covers[0])]
if not cover.media_type == SVG_MIME: if not cover.media_type == SVG_MIME:
return return
width = (self.profile.width / 72) * self.profile.dpi width = (self.profile.width / 72) * self.profile.dpi