View Single Post
Old 01-14-2012, 10:22 AM   #10
KevinH
Guru
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 659
Karma: 230878
Join Date: Nov 2009
Device: many
Hi,

If you check out the end of the New Mobi Decoder thread in the Mobi forum there already exists a python tool that will unpack KF8 mobis and convert them to epub. So it would be easy to make a stop gap plugin that that imports an epub when given a KF8 mobi as input.

That said, the format is not nearly reverse engineered enough to have it create KF8 mobis. For example, there are sometimes multiple DATP records that seem to be needed (but that we have not figured out yet) as well as FDST records that control how the rawml is split up, and three new index types, one for skeleton files, one for divs or fragments, and one for guide elements. These can not be skipped. Amazon has even added metadata elements to the old Mobi part of the file including a metadata 121 that that stores the section number of the BOUNDARY section, etc. And I am sure there is much more that needs to be looked at.

The problem is you would simply be better off grabbing the kindlegensrc.zip record SRCS section and using it instead with Calibre.

So people with nodrm mobis created by the new Kindlegen would be better to run the new unpacker and use the kindlegensrc.zip (typically an epub renamed) and working from there with Sigil and Calibre.

I would be happy to help with answering questions about the code in mobi_unpacker.py (and its support files) if any wants it.

KevinH
KevinH is offline   Reply With Quote