mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
ereader writer changes
This commit is contained in:
parent
7ce53a941e
commit
1daf7bd86a
@ -26,17 +26,10 @@ def sanitize_head(match):
|
|||||||
def chap_head(match):
|
def chap_head(match):
|
||||||
chap = match.group('chap')
|
chap = match.group('chap')
|
||||||
title = match.group('title')
|
title = match.group('title')
|
||||||
<<<<<<< TREE
|
|
||||||
if not title:
|
if not title:
|
||||||
return '<h1>'+chap+'</h1><br/>\n'
|
return '<h1>'+chap+'</h1><br/>\n'
|
||||||
else:
|
else:
|
||||||
return '<h1>'+chap+'<br/>\n'+title+'</h1><br/>\n'
|
return '<h1>'+chap+'<br/>\n'+title+'</h1><br/>\n'
|
||||||
=======
|
|
||||||
if not title:
|
|
||||||
return '<h1>'+chap+'</h1><br/>'
|
|
||||||
else:
|
|
||||||
return '<h1>'+chap+'<br/>'+title+'</h1><br/>'
|
|
||||||
>>>>>>> MERGE-SOURCE
|
|
||||||
|
|
||||||
def wrap_lines(match):
|
def wrap_lines(match):
|
||||||
ital = match.group('ital')
|
ital = match.group('ital')
|
||||||
|
@ -6,6 +6,8 @@ Write content to ereader pdb file.
|
|||||||
|
|
||||||
import struct, zlib
|
import struct, zlib
|
||||||
|
|
||||||
|
import Image, cStringIO
|
||||||
|
|
||||||
from calibre.ebooks.oeb.base import OEB_IMAGES
|
from calibre.ebooks.oeb.base import OEB_IMAGES
|
||||||
from calibre.ebooks.pdb.header import PdbHeaderBuilder
|
from calibre.ebooks.pdb.header import PdbHeaderBuilder
|
||||||
from calibre.ebooks.pdb.ereader import image_name
|
from calibre.ebooks.pdb.ereader import image_name
|
||||||
@ -52,14 +54,22 @@ class Writer(object):
|
|||||||
|
|
||||||
image += image_name(item.href)
|
image += image_name(item.href)
|
||||||
image = image.ljust(62, '\x00')
|
image = image.ljust(62, '\x00')
|
||||||
image += item.data
|
|
||||||
|
|
||||||
images.append(image)
|
im = Image.open(cStringIO.StringIO(item.data))
|
||||||
|
|
||||||
|
data = cStringIO.StringIO()
|
||||||
|
im.save(data, 'PNG')
|
||||||
|
data = data.getvalue()
|
||||||
|
|
||||||
|
image += data
|
||||||
|
|
||||||
|
if len(image) < 65505:
|
||||||
|
images.append(image)
|
||||||
|
|
||||||
return images
|
return images
|
||||||
|
|
||||||
def _metadata(self, metadata):
|
def _metadata(self, metadata):
|
||||||
return ''
|
return '\x00\x00\x00\x00\x00'
|
||||||
|
|
||||||
def _header_record(self, text_items, image_items):
|
def _header_record(self, text_items, image_items):
|
||||||
'''
|
'''
|
||||||
@ -72,22 +82,36 @@ class Writer(object):
|
|||||||
if image_items > 0:
|
if image_items > 0:
|
||||||
image_data_offset = text_items + 1
|
image_data_offset = text_items + 1
|
||||||
meta_data_offset = image_data_offset + image_items
|
meta_data_offset = image_data_offset + image_items
|
||||||
|
last_data_offset = meta_data_offset + 1
|
||||||
else:
|
else:
|
||||||
meta_data_offset = text_items + 1
|
meta_data_offset = text_items + 1
|
||||||
image_data_offset = meta_data_offset
|
last_data_offset = meta_data_offset + 1
|
||||||
|
image_data_offset = last_data_offset
|
||||||
|
|
||||||
record = u''
|
record = u''
|
||||||
|
|
||||||
# Version
|
# Version
|
||||||
record += struct.pack('>H', version)
|
record += struct.pack('>H', version)
|
||||||
record = record.ljust(12, '\x00')
|
record = record.ljust(12, '\x00')
|
||||||
|
# Non-text offset, everything between record 0 and non_text_offset is text pages
|
||||||
record += struct.pack('>H', non_text_offset)
|
record += struct.pack('>H', non_text_offset)
|
||||||
|
record = record.ljust(28, '\x00')
|
||||||
|
# Footnote and Sidebar rec
|
||||||
|
record += struct.pack('>H', 0)
|
||||||
|
record += struct.pack('>H', 0)
|
||||||
|
record += struct.pack('>H', last_data_offset)
|
||||||
record = record.ljust(40, '\x00')
|
record = record.ljust(40, '\x00')
|
||||||
|
# image pages
|
||||||
record += struct.pack('>H', image_data_offset)
|
record += struct.pack('>H', image_data_offset)
|
||||||
record = record.ljust(44, '\x00')
|
record = record.ljust(44, '\x00')
|
||||||
|
# metadata string
|
||||||
record += struct.pack('>H', meta_data_offset)
|
record += struct.pack('>H', meta_data_offset)
|
||||||
|
record = record.ljust(48, '\x00')
|
||||||
|
# footnote and sidebar offsets
|
||||||
|
record += struct.pack('>H', last_data_offset)
|
||||||
|
record += struct.pack('>H', last_data_offset)
|
||||||
record = record.ljust(52, '\x00')
|
record = record.ljust(52, '\x00')
|
||||||
record += struct.pack('>H', meta_data_offset)
|
record += struct.pack('>H', last_data_offset)
|
||||||
|
|
||||||
return record
|
return record
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user