code: def main(args):
      def extract(tar_path, target_path):
          try:
              tar = tarfile.open(tar_path, "r:gz")
              file_names = tar.getnames()
              for file_name in file_names:
                  tar.extract(file_name, target_path)
              tar.close()
          except Exception as e:
              print(e)
  
      tar_url = _URLS[args.type]
      file_name = tar_url[tar_url.rfind("/") + 1 :]
      file_hash = _URL_FILE_STATS[tar_url]
      download(
          tar_url,
          path=os.path.join(args.cache_path, file_name),
          sha1_hash=file_hash,
      )
      if not os.path.exists(args.save_path):
          os.makedirs(args.save_path)
      if not os.path.exists(
          os.path.join(args.save_path, file_name)
      ) or (args.overwrite and args.save_path != args.cache_path):
          os.symlink(
              os.path.join(args.cache_path, file_name),
              os.path.join(args.save_path, file_name),
          )
      extract(os.path.join(args.save_path, file_name), args.save_path)
  
imports: import os
  import tarfile
  import argparse
  from gluonnlp.utils.misc import download, load_checksum_stats
  from gluonnlp.base import get_data_home_dir
label_desc: Use image node_id 2 for calling a global function with example usage: main(args) without return types