@staticmethod<EOL><INDENT>def chunks(f):<DEDENT>
while <NUM_LIT:1>:<EOL><INDENT>try:<EOL><INDENT>length = struct.unpack(b"<STR_LIT>", f.read(<NUM_LIT:4>))[<NUM_LIT:0>]<EOL>tag = f.read(<NUM_LIT:4>)<EOL>data = f.read(length)<EOL>crc = struct.unpack(b"<STR_LIT>", f.read(<NUM_LIT:4>))[<NUM_LIT:0>]<EOL><DEDENT>except struct.error:<EOL><INDENT>return<EOL><DEDENT>if zlib.crc32(tag + data) & <NUM_LIT> != crc:<EOL><INDENT>raise IOError('<STR_LIT>')<EOL><DEDENT>yield tag, data<EOL><DEDENT>
Split read PNG image data into chunks