code: def build(opt):
      dpath = os.path.join(opt["datapath"], "AmazonQA")
      version = None
  
      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)
              new_filename = downloadable_file.file_name[:-3]
              print(
                  "[ unpacking data: "
                  + downloadable_file.file_name
                  + " ]"
              )
              f = open(dpath + "/" + new_filename, "w")
              for l in parse_gzip(
                  dpath + "/" + downloadable_file.file_name
              ):
                  f.write(l + "\n")
              PathManager.rm(dpath + "/" + downloadable_file.file_name)
  
          # mark the data as built
          build_data.mark_done(dpath, version_string=version)
  
file_path: ParlAI/parlai/tasks/amazon_qa/build.py
imports: import parlai.core.build_data
  import os
  import gzip
  import json
  from parlai.core.build_data import DownloadableFile
  from parlai.utils.io import PathManager
label_desc: Use image node_id 2 for calling a global function with example usage: build(opt) without return types