code: def build(opt):
      version = "v1.1"
      dpath = os.path.join(opt["datapath"], "Twitter")
  
      if not build_data.built(dpath, 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)
  
          file1 = os.path.join(dpath, RESOURCES[0].file_name)
          file2 = os.path.join(dpath, RESOURCES[1].file_name)
  
          concat = io.BytesIO()
  
          for fn in [file1, file2]:
              with PathManager.open(fn, "rb") as rawf:
                  concat.write(rawf.read())
  
          with gzip.GzipFile(
              fileobj=io.BytesIO(concat.getvalue())
          ) as f:
              file_content = bytes.decode(f.read())
              data = file_content.split("\n")[2:]
  
          create_fb_format(data, dpath)
  
          PathManager.rm(file1)
          PathManager.rm(file2)
  
          # Mark the data as built.
          build_data.mark_done(dpath, version)
  
file_path: ParlAI/parlai/tasks/twitter/build.py
imports: import io
  import gzip
  import parlai.core.build_data
  import os
  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