parameters: (self, size)
return_statement: return buf
docstring: Return size bytes from stream. If internal buffer is empty,
             read another block from the stream.
docstring_summary: Return size bytes from stream. If internal buffer is empty,
             read another block from the stream.
docstring_tokens: Return size bytes from stream . If internal buffer is empty read another block from the stream .
function: def __read(self, size):
          """Return size bytes from stream. If internal buffer is empty,
             read another block from the stream.
          """
          c = len(self.buf)
          while c < size:
              buf = self.fileobj.read(self.bufsize)
              if not buf:
                  break
              self.buf += buf
              c += len(buf)
          buf = self.buf[:size]
          self.buf = self.buf[size:]
          return buf
function_tokens: def __read ( self , size ) : c = len ( self . buf ) while c < size : buf = self . fileobj . read ( self . bufsize ) if not buf : break self . buf += buf c += len ( buf ) buf = self . buf [ : size ] self . buf = self . buf [ size : ] return buf