Just read a single block from your current location in _fh

def _get_block(self):
    """Just read a single block from your current location in _fh"""
    b = self._fh.read(4) # get block size bytes
    #print self._fh.tell()
    if not b: raise StopIteration
    block_size = struct.unpack('<i',b)[0]
    return self._fh.read(block_size)