parameters: (self, raw)
docstring: 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.
docstring_summary: 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.
docstring_tokens: 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 .
function: 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
function_tokens: 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