code: def peek(self, size=1):
          
          if size == -1:
              return self.peek(len(self) - self.tell())
  
          if size < -1:
              raise ValueError("Cannot peek backwards")
  
          bytes = ''
          pos = self.tell()
  
          while not self.at_eof() and len(bytes) != size:
              bytes += self.read(1)
  
          self.seek(pos)
  
          return bytes
docs: Looks C{size} bytes ahead in the stream, returning what it finds,
          returning the stream pointer to its initial position.
  
          @param size: Default is 1.
          @type size: C{int}
          @raise ValueError: Trying to peek backwards.
  
          @return: Bytes.