diff --git a/src/calibre/ebooks/mobi/writer2/main.py b/src/calibre/ebooks/mobi/writer2/main.py index 4737224336..27c4838a4b 100644 --- a/src/calibre/ebooks/mobi/writer2/main.py +++ b/src/calibre/ebooks/mobi/writer2/main.py @@ -387,7 +387,8 @@ class MobiWriter(object): self.records.append(self.kf8.record0) self.records.extend(self.kf8.records[1:]) - first_image_record if first_image_record else len(self.records) + first_image_record = (first_image_record if first_image_record else + len(self.records)) header_fields = {k:getattr(self.kf8, k) for k in HEADER_FIELDS} @@ -407,6 +408,8 @@ class MobiWriter(object): 'ncx_index':'primary_index_record_idx', }.iteritems(): header_fields[k] = getattr(self, v) + if header_fields['ncx_index'] is None: + header_fields['ncx_index'] = NULL_INDEX for x in ('skel', 'chunk', 'guide'): header_fields[x+'_index'] = NULL_INDEX diff --git a/src/calibre/ebooks/mobi/writer8/mobi.py b/src/calibre/ebooks/mobi/writer8/mobi.py index 7cdfd5a4b1..18f19a4084 100644 --- a/src/calibre/ebooks/mobi/writer8/mobi.py +++ b/src/calibre/ebooks/mobi/writer8/mobi.py @@ -229,9 +229,9 @@ class KF8Book(object): setattr(self, x, getattr(resources, x)) self.first_resource_record = NULL_INDEX + before = len(self.records) if resources.records: self.first_resource_record = len(self.records) - before = len(self.records) if not for_joint: resources.serialize(self.records, writer.used_images) self.num_of_resources = len(self.records) - before