code: def build(opt):
      dpath = os.path.join(opt["datapath"], "QuAC")
      version = VERSION
  
      if not build_data.built(dpath, version_string=version):
          print("[building data: " + dpath + "]")
          if build_data.built(dpath):
              # An older version exists, so remove these outdated files.
              build_data.remove_dir(dpath)
          build_data.make_dir(dpath)
  
          # Download the data.
          for downloadable_file in RESOURCES:
              downloadable_file.download_file(dpath)
  
          with PathManager.open(
              os.path.join(dpath, RESOURCES[0].file_name)
          ) as f:
              data = json.load(f)["data"]
              make_parlai_format(dpath, "train", data)
  
          with PathManager.open(
              os.path.join(dpath, RESOURCES[1].file_name)
          ) as f:
              data = json.load(f)["data"]
              make_parlai_format(dpath, "valid", data)
  
          # Mark the data as built.
          build_data.mark_done(dpath, version_string=version)
  
file_path: ParlAI/parlai/tasks/quac/build.py
imports: import parlai.core.build_data
  import os
  import json
  from parlai.core.build_data import DownloadableFile
  from parlai.utils.io import PathManager
label_desc: Use image node_id 4 for calling a global function with example usage: build(opt) without return types