def __init__(self, ubi, volume): self._ubi = ubi self._volume = volume self._blocks = sort.by_leb(self._volume.get_blocks(self._ubi.blocks)) self._seek = 0 self.leb_data_size = len(self._blocks) * self._ubi.leb_size self._last_leb = -1 self._last_buf = ''
def reader(self, ubi): last_leb = 0 for block in sort.by_leb(self.get_blocks(ubi.blocks)): if block == 'x': last_leb += 1 yield '\xff' * ubi.leb_size else: last_leb += 1 yield ubi.file.read_block_data(ubi.blocks[block])