docs: def tee(process, filter):
      """Read lines from process.stdout and echo them to sys.stdout.
  
      Returns a list of lines read. Lines are not newline terminated.
  
      The 'filter' is a callable which is invoked for every line,
      receiving the line as argument. If the filter returns True, the
      line is echoed to sys.stdout.
      """
      lines = []
  
      while True:
          line = process.stdout.readline()
          if line:
              if sys.version_info[0] >= 3:
                  line = decode(line)
              stripped_line = line.rstrip()
              if filter(stripped_line):
                  sys.stdout.write(line)
              lines.append(stripped_line)
          elif process.poll() is not None:
              process.stdout.close()
              break
      return lines