def read(self, source, compressed=False, encoding='<STR_LIT>'):
buf = '<STR_LIT>'<EOL>for block in self.cat(source, compressed=compressed, encoding=encoding):<EOL><INDENT>buf += block<EOL>if '<STR_LIT:\n>' in buf:<EOL><INDENT>ret, buf = buf.rsplit('<STR_LIT:\n>', <NUM_LIT:1>)<EOL>for line in ret.split('<STR_LIT:\n>'):<EOL><INDENT>yield line<EOL><DEDENT><DEDENT><DEDENT>lines = buf.split('<STR_LIT:\n>')<EOL>for line in lines[:-<NUM_LIT:1>]:<EOL><INDENT>yield line<EOL><DEDENT>if lines[-<NUM_LIT:1>]:<EOL><INDENT>yield lines[-<NUM_LIT:1>]<EOL><DEDENT>
Iterates over a file in s3 split on newline.

Yields a line in file.