code: def download_file(url, out_file):
      out_dir = os.path.dirname(out_file)
      if not os.path.isdir(out_dir):
          os.makedirs(out_dir)
      if not os.path.isfile(out_file):
          print("\t" + url + " > " + out_file)
          fh, out_file_tmp = tempfile.mkstemp(dir=out_dir)
          f = os.fdopen(fh, "w")
          f.close()
          urllib.request.urlretrieve(url, out_file_tmp)
          # urllib.urlretrieve(url, out_file_tmp)
          os.rename(out_file_tmp, out_file)
      else:
          print(
              "WARNING: skipping download of existing file " + out_file
          )
  
file_path: torch-points3d/scripts/datasets/download-scannet.py
imports: import argparse
  import os
  import tempfile
  import sys
  import urllib
label_desc: Use image node_id 3 for calling a global function with example usage: download_file(url, out_file) without return types