def create_text_records(self): self.flows = [ x.encode('utf-8') if isinstance(x, unicode) else x for x in self.flows ] text = b''.join(self.flows) self.text_length = len(text) text = BytesIO(text) nrecords = 0 records_size = 0 self.uncompressed_record_lengths = [] if self.compress: self.oeb.logger.info('\tCompressing markup...') while text.tell() < self.text_length: data, overlap = create_text_record(text) self.uncompressed_record_lengths.append(len(data)) if self.compress: data = compress_doc(data) data += overlap data += pack(b'>B', len(overlap)) self.records.append(data) records_size += len(data) nrecords += 1 self.last_text_record_idx = nrecords self.first_non_text_record_idx = nrecords + 1 # Pad so that the next records starts at a 4 byte boundary if records_size % 4 != 0: self.records.append(b'\x00' * (records_size % 4)) self.first_non_text_record_idx += 1
def create_text_records(self): self.flows = [x.encode('utf-8') if isinstance(x, unicode) else x for x in self.flows] text = b''.join(self.flows) self.text_length = len(text) text = BytesIO(text) nrecords = 0 records_size = 0 self.uncompressed_record_lengths = [] if self.compress: self.oeb.logger.info('\tCompressing markup...') while text.tell() < self.text_length: data, overlap = create_text_record(text) self.uncompressed_record_lengths.append(len(data)) if self.compress: data = compress_doc(data) data += overlap data += pack(b'>B', len(overlap)) self.records.append(data) records_size += len(data) nrecords += 1 self.last_text_record_idx = nrecords self.first_non_text_record_idx = nrecords + 1 # Pad so that the next records starts at a 4 byte boundary if records_size % 4 != 0: self.records.append(b'\x00'*(records_size % 4)) self.first_non_text_record_idx += 1
def generate_text(self): # {{{ self.oeb.logger.info('Serializing markup content...') self.serializer = Serializer(self.oeb, self.image_map, self.is_periodical, write_page_breaks_after_item=self.write_page_breaks_after_item) text = self.serializer() self.text_length = len(text) text = io.BytesIO(text) nrecords = 0 records_size = 0 if self.compression != UNCOMPRESSED: self.oeb.logger.info(' Compressing markup content...') while text.tell() < self.text_length: data, overlap = create_text_record(text) if self.compression == PALMDOC: data = compress_doc(data) data += overlap data += pack(b'>B', len(overlap)) self.records.append(data) records_size += len(data) nrecords += 1 self.last_text_record_idx = nrecords self.first_non_text_record_idx = nrecords + 1 # Pad so that the next records starts at a 4 byte boundary if records_size % 4 != 0: self.records.append(b'\x00'*(records_size % 4)) self.first_non_text_record_idx += 1
def generate_text(self): # {{{ self.oeb.logger.info('Serializing markup content...') self.serializer = Serializer(self.oeb, self.image_map, self.is_periodical, write_page_breaks_after_item=self.write_page_breaks_after_item) text = self.serializer() self.text_length = len(text) text = StringIO(text) nrecords = 0 records_size = 0 if self.compression != UNCOMPRESSED: self.oeb.logger.info(' Compressing markup content...') while text.tell() < self.text_length: data, overlap = create_text_record(text) if self.compression == PALMDOC: data = compress_doc(data) data += overlap data += pack(b'>B', len(overlap)) self.records.append(data) records_size += len(data) nrecords += 1 self.last_text_record_idx = nrecords self.first_non_text_record_idx = nrecords + 1 # Pad so that the next records starts at a 4 byte boundary if records_size % 4 != 0: self.records.append(b'\x00'*(records_size % 4)) self.first_non_text_record_idx += 1