This commit is contained in:
Kovid Goyal 2011-07-29 00:34:19 -06:00
parent 8c190b3415
commit 6cdebf93f1
3 changed files with 9 additions and 9 deletions

View File

@ -1065,7 +1065,7 @@ class TBSIndexing(object): # {{{
if eof != 0: if eof != 0:
raise ValueError('Unknown eof value %s when reading' raise ValueError('Unknown eof value %s when reading'
' starting section. All bytes: %r'%(eof, orig)) ' starting section. All bytes: %r'%(eof, orig))
ans.append('This record is spanned by an article from' ans.append('??This record has more than one article from '
' the section: %d'%si.index) ' the section: %d'%si.index)
return si, byts return si, byts
# }}} # }}}

View File

@ -266,15 +266,15 @@ class TBS(object): # {{{
buf.write(typ) buf.write(typ)
if typ not in (self.type_110, self.type_111) and parent_section_index > 0: if typ not in (self.type_110, self.type_111) and parent_section_index > 0:
extra = {}
# Write starting section information # Write starting section information
if spanner is None: if spanner is None:
num_articles = len([a for a in depth_map[1] if a.parent_index num_articles = len([a for a in depth_map[1] if a.parent_index
== parent_section_index]) == parent_section_index])
extra = {} if not depth_map[1]:
extra = {0b0001: 0}
if num_articles > 1: if num_articles > 1:
extra = {0b0100: num_articles} extra = {0b0100: num_articles}
else:
extra = {0b0001: 0}
buf.write(encode_tbs(parent_section_index, extra)) buf.write(encode_tbs(parent_section_index, extra))
if spanner is None: if spanner is None:
@ -299,10 +299,10 @@ class TBS(object): # {{{
extra = {} extra = {}
if num > 1: if num > 1:
extra[0b0100] = num extra[0b0100] = num
if i == 0 and next_sec is not None: if False and i == 0 and next_sec is not None:
# Write offset to next section from start of record # Write offset to next section from start of record
# For some reason kindlegen only writes this offset # I can't figure out exactly when Kindlegen decides to
# for the first section transition. Imitate it. # write this so I have disabled it for now.
extra[0b0001] = next_sec.offset - data['offset'] extra[0b0001] = next_sec.offset - data['offset']
buf.write(encode_tbs(first_article.index-section.index, extra)) buf.write(encode_tbs(first_article.index-section.index, extra))

View File

@ -19,7 +19,7 @@ from calibre.ebooks.mobi.langcodes import iana2mobi
from calibre.utils.filenames import ascii_filename from calibre.utils.filenames import ascii_filename
from calibre.ebooks.mobi.writer2 import (PALMDOC, UNCOMPRESSED, RECORD_SIZE) from calibre.ebooks.mobi.writer2 import (PALMDOC, UNCOMPRESSED, RECORD_SIZE)
from calibre.ebooks.mobi.utils import (rescale_image, encint, from calibre.ebooks.mobi.utils import (rescale_image, encint,
encode_trailing_data) encode_trailing_data, align_block)
from calibre.ebooks.mobi.writer2.indexer import Indexer from calibre.ebooks.mobi.writer2.indexer import Indexer
EXTH_CODES = { EXTH_CODES = {
@ -434,7 +434,7 @@ class MobiWriter(object):
# Add some buffer so that Amazon can add encryption information if this # Add some buffer so that Amazon can add encryption information if this
# MOBI is submitted for publication # MOBI is submitted for publication
record0 += (b'\0' * (1024*8)) record0 += (b'\0' * (1024*8))
self.records[0] = record0 self.records[0] = align_block(record0)
# }}} # }}}
def build_exth(self): # EXTH Header {{{ def build_exth(self): # EXTH Header {{{