(self, raw)
Iterator that undoes the effect of filtering, and yields each
        row in serialised format (as a sequence of bytes).  Assumes input
        is straightlaced.  `raw` should be an iterable that yields the
        raw bytes in chunks of arbitrary size.
Iterator that undoes the effect of filtering, and yields each
        row in serialised format (as a sequence of bytes).  Assumes input
        is straightlaced.  `raw` should be an iterable that yields the
        raw bytes in chunks of arbitrary size.
Iterator that undoes the effect of filtering and yields each row in serialised format ( as a sequence of bytes ) . Assumes input is straightlaced . raw should be an iterable that yields the raw bytes in chunks of arbitrary size .
def iterstraight(self, raw):
        """Iterator that undoes the effect of filtering, and yields each
        row in serialised format (as a sequence of bytes).  Assumes input
        is straightlaced.  `raw` should be an iterable that yields the
        raw bytes in chunks of arbitrary size."""

        # length of row, in bytes
        rb = self.row_bytes
        a = array('B')
        # The previous (reconstructed) scanline.  None indicates first
        # line of image.
        recon = None
        for some in raw:
            a.extend(some)
            while len(a) >= rb + 1:
                filter_type = a[0]
                scanline = a[1:rb+1]
                del a[:rb+1]
                recon = self.undo_filter(filter_type, scanline, recon)
                yield recon
        if len(a) != 0:
            # :file:format We get here with a file format error: when the
            # available bytes (after decompressing) do not pack into exact
            # rows.
            raise FormatError(
              'Wrong size for decompressed IDAT chunk.')
        assert len(a) == 0
def iterstraight ( self , raw ) : # length of row, in bytes rb = self . row_bytes a = array ( 'B' ) # The previous (reconstructed) scanline.  None indicates first # line of image. recon = None for some in raw : a . extend ( some ) while len ( a ) >= rb + 1 : filter_type = a [ 0 ] scanline = a [ 1 : rb + 1 ] del a [ : rb + 1 ] recon = self . undo_filter ( filter_type , scanline , recon ) yield recon if len ( a ) != 0 : # :file:format We get here with a file format error: when the # available bytes (after decompressing) do not pack into exact # rows. raise FormatError ( 'Wrong size for decompressed IDAT chunk.' ) assert len ( a ) == 0