Пример #1
0
    def get_cover(self):
        from calibre.ebooks.lrf.objects import get_object

        for id, offset, size in self.get_objects_by_type(0x0C):
            image = get_object(None, self._file, id, offset, size, self.xor_key)
            id, offset, size = self.get_object_by_id(image.refstream)[:3]
            image_stream = get_object(None, self._file, id, offset, size, self.xor_key)
            return image_stream.file.rpartition('.')[-1], image_stream.stream
        return None
Пример #2
0
    def get_cover(self):
        from calibre.ebooks.lrf.objects import get_object

        for id, offset, size in self.get_objects_by_type(0x0C):
            image = get_object(None, self._file, id, offset, size, self.xor_key)
            id, offset, size = self.get_object_by_id(image.refstream)[:3]
            image_stream = get_object(None, self._file, id, offset, size, self.xor_key)
            return image_stream.file.rpartition('.')[-1], image_stream.stream
        return None
Пример #3
0
 def _parse_object(self, objid, objoff, objsize):
     obj = get_object(self, self._file, objid, objoff, objsize, self.scramble_key)
     self.objects[objid] = obj
     if isinstance(obj, PageTree):
         self.page_trees.append(obj)
     elif isinstance(obj, TOCObject):
         self.toc = obj
     elif isinstance(obj, BookAttr):
         self.ruby_tags = {}
         for h in ruby_tags.values():
             attr = h[0]
             if hasattr(obj, attr):
                 self.ruby_tags[attr] = getattr(obj, attr)