code: def download_parts_and_combine(dl_folder, urls, filename):
      parts = []
      for url_record in urls:
          url, part_file = get_downloaded_file(dl_folder, url_record)
          if os.path.exists(part_file):
              print(f"{part_file} has already been downloaded so skip")
          else:
              part_file = wget.download(url, part_file, bar=bar_custom)
          parts.append(part_file)
  
      def get_combine_cmd(parts):
          # default as tar.gz.??
          return f'cat {" ".join(parts)} > {filename}'
  
      combine_cmd = get_combine_cmd(parts)
      call(combine_cmd, debug=True)
      return filename
  
imports: from typing import NamedTuple, List
  from urllib.parse import urlparse
  import os, sys
  import subprocess
  from subprocess import check_call, check_output
  import glob
  import wget
  import re
  import multiprocessing
  from functools import partial
  import pathlib
  from collections import OrderedDict
label_desc: Use image node_id 3 for calling a global function with example usage: download_parts_and_combine(dl_folder, urls, filename) and returns: filename, str, str, str, filename