code: def visit((prefix, strip, found), dirname, names):
      
      files = []
      # Iterate over a copy of names, modify names
      for name in names[:]:
          path = os.path.join(dirname, name)
          # Ignore directories -  we will visit later
          if os.path.isdir(path):
              # Remove directories we don't want to visit later
              if isbad(name):
                  names.remove(name)
              continue
          elif isgood(name):
              files.append(path)
      destination = os.path.join(prefix, dirname[strip:])
      found.append((destination, files))
docs: Visit directory, create distutil tuple
      Add distutil tuple for each directory using this format:
          (destination, [dirname/file1, dirname/file2, ...])
      distutil will copy later file1, file2, ... info destination.