1
# -*- coding: utf-8 -*-
4
Read content from ereader pdb file.
8
__copyright__ = '2009, John Schember <john@nachtimwald.com>'
9
__docformat__ = 'restructuredtext en'
11
from calibre.ebooks.pdb.ereader import EreaderError
12
from calibre.ebooks.pdb.formatreader import FormatReader
13
from calibre.ebooks.pdb.ereader.reader132 import Reader132
14
from calibre.ebooks.pdb.ereader.reader202 import Reader202
16
class Reader(FormatReader):
18
def __init__(self, header, stream, log, encoding=None):
19
record0_size = len(header.section_data(0))
21
if record0_size == 132:
22
self.reader = Reader132(header, stream, log, encoding)
23
elif record0_size == 202:
24
self.reader = Reader202(header, stream, log, encoding)
26
raise EreaderError('Size mismatch. eReader header record size %s KB is not supported.' % record0_size)
28
def extract_content(self, output_dir):
29
return self.reader.extract_content(output_dir)
32
return self.reader.dump_pml()
34
def dump_images(self):
35
return self.reader.dump_images()