code: def read(self):
          
          buffer = BytesIO()
          for chunk in self.buffer_iter():
              log.debug('buffer.write(%r)', chunk)
              buffer.write(chunk)
          buffer.seek(0)
          return buffer.read()
docs: Read buffer out as a single stream.
  
          .. warning::
  
              Avoid using this function!
  
              **Why?** This is a *convenience* function; it doesn't encourage good
              memory management.
  
              All memory required for a mesh is duplicated, and returned as a
              single :class:`str`. So at best, using this function will double
              the memory required for a single model.
  
              **Instead:** Wherever possible, please use :meth:`buffer_iter`.