code: def main():
      epilog = """
  
  example: list files without downloading
  
      ./download.py --list
  
  example: download the first preview of each scene:
  
      ./download.py --contains scene_cam_00_final_preview --contains frame.0000.color.jpg --silent
  
  example: download all files to "all hypersim images" directory
  
      ./download.py --directory 'all hypersim images'
  
  example: print this help text
  
      ./download.py --help
  
      """
      parser = argparse.ArgumentParser(
          epilog=epilog,
          formatter_class=argparse.RawDescriptionHelpFormatter,
      )
  
      parser.add_argument(
          "-d",
          "--directory",
          type=str,
          default="downloads",
          help="directory to download to",
      )
      parser.add_argument(
          "-o",
          "--overwrite",
          action="store_true",
          help="overwrite existing files",
      )
      parser.add_argument(
          "-c",
          "--contains",
          nargs="*",
          action="append",
          default=[],
          help="only download file if name contains specific word(s)",
      )
      parser.add_argument(
          "-e",
          "--scene",
          type=str,
          help="only download files from this scene",
      )
      parser.add_argument(
          "-s",
          "--silent",
          action="store_true",
          help="only print downloaded files",
      )
      parser.add_argument(
          "-l",
          "--list",
          action="store_true",
          help="only list files, do not download",
      )
  
      args = parser.parse_args()
  
      download_files(args)
  
file_path: ml-hypersim/contrib/99991/download.py
imports: import os
  import argparse
  import requests
  import zipfile
label_desc: Use image node_id 2 for calling a global function with example usage: main() without return types