code: def download_from_s3(folder_name, skip_if_cached=True):
      """Folder name will be saved as `<cache_dir>/textattack/<folder_name>`. If
      it doesn't exist on disk, the zip file will be downloaded and extracted.
  
      Args:
          folder_name (str): path to folder or file in cache
          skip_if_cached (bool): If `True`, skip downloading if content is already cached.
  
      Returns:
          str: path to the downloaded folder or file on disk
      """
      cache_dest_path = path_in_cache(folder_name)
      os.makedirs(os.path.dirname(cache_dest_path), exist_ok=True)
      # Use a lock to prevent concurrent downloads.
      cache_dest_lock_path = cache_dest_path + ".lock"
      cache_file_lock = filelock.FileLock(cache_dest_lock_path)
      cache_file_lock.acquire()
      # Check if already downloaded.
      if skip_if_cached and os.path.exists(cache_dest_path):
          cache_file_lock.release()
          return cache_dest_path
      # If the file isn't found yet, download the zip file to the cache.
      downloaded_file = tempfile.NamedTemporaryFile(
          dir=TEXTATTACK_CACHE_DIR, suffix=".zip", delete=False
      )
      folder_s3_url = s3_url(folder_name)
      http_get(folder_s3_url, downloaded_file)
      # Move or unzip the file.
      downloaded_file.close()
      if zipfile.is_zipfile(downloaded_file.name):
          unzip_file(downloaded_file.name, cache_dest_path)
      else:
          logger.info(
              f"Copying {downloaded_file.name} to {cache_dest_path}."
          )
          shutil.copyfile(downloaded_file.name, cache_dest_path)
      cache_file_lock.release()
      # Remove the temporary file.
      os.remove(downloaded_file.name)
      logger.info(f"Successfully saved {folder_name} to cache.")
      return cache_dest_path
  
file_path: TextAttack/textattack/shared/utils/install.py
imports: import logging.config
  import os
  import pathlib
  import shutil
  import sys
  import tempfile
  import zipfile
  import filelock
  import requests
  import tqdm
label_desc: Use image node_id 3 for calling a global function with example usage: download_from_s3(folder_name, skip_if_cached) and returns: cache_dest_path, cache_dest_path