docs: def get_archive_file_list(archive_filename):
      """Return the list of files in an archive.
  
      Supports .tar.gz and .zip.
      """
      if archive_filename.endswith('.zip'):
          with closing(zipfile.ZipFile(archive_filename)) as zf:
              return add_directories(zf.namelist())
      elif archive_filename.endswith(('.tar.gz', '.tar.bz2', '.tar')):
          with closing(tarfile.open(archive_filename)) as tf:
              return add_directories(list(map(unicodify, tf.getnames())))
      else:
          ext = os.path.splitext(archive_filename)[-1]
          raise Failure('Unrecognized archive type: %s' % ext)