mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
When generating MOBI files uses the same 2*n record index scheme as used by kindlegen
This commit is contained in:
parent
db20d3e2f5
commit
423731e9ee
@ -7,8 +7,6 @@ __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.cam> and \
|
|||||||
Kovid Goyal <kovid@kovidgoyal.net>'
|
Kovid Goyal <kovid@kovidgoyal.net>'
|
||||||
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from itertools import count
|
|
||||||
from itertools import izip
|
|
||||||
import random
|
import random
|
||||||
import re
|
import re
|
||||||
from struct import pack
|
from struct import pack
|
||||||
@ -1630,8 +1628,8 @@ class MobiWriter(object):
|
|||||||
self._write(title, pack('>HHIIIIII', 0, 0, now, now, 0, 0, 0, 0),
|
self._write(title, pack('>HHIIIIII', 0, 0, now, now, 0, 0, 0, 0),
|
||||||
'BOOK', 'MOBI', pack('>IIH', nrecords, 0, nrecords))
|
'BOOK', 'MOBI', pack('>IIH', nrecords, 0, nrecords))
|
||||||
offset = self._tell() + (8 * nrecords) + 2
|
offset = self._tell() + (8 * nrecords) + 2
|
||||||
for id, record in izip(count(), self._records):
|
for i, record in enumerate(self._records):
|
||||||
self._write(pack('>I', offset), '\0', pack('>I', id)[1:])
|
self._write(pack('>I', offset), '\0', pack('>I', 2*i)[1:])
|
||||||
offset += len(record)
|
offset += len(record)
|
||||||
self._write('\0\0')
|
self._write('\0\0')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user