def iter_and_close(file_like, block_size):
    """Yield file contents by block then close the file."""
    while 1:
        try:
            block = file_like.read(block_size)
            if block: yield block
            else: raise StopIteration
        except __HOLE__, si:
            file_like.close()
            return
dataset/ETHPy150Open cloudera/hue/tools/ace-editor/static.py/iter_and_close