code: def get_parser():
      parser = argparse.ArgumentParser(
          description="Download and Prepare the Wikipedia"
      )
      parser.add_argument(
          "--mode",
          type=str,
          default="download+format",
          choices=[
              "download",
              "format",
              "download+format",
              "download_prepared",
          ],
          help="Specify the action you want the app to take. "
          '"download" means to download the Wikipedia dump. '
          '"format" means to extract the content and '
          'format it for pretraining. "download+format" means to combine '
          "these two options"
          '"download_prepared" downloads the prepared txt from S3 directly',
      )
      parser.add_argument(
          "--lang",
          type=str,
          default="en",
          help="Language of the wikipedia dump file."
          "We only support English and Chinese for current version",
      )
      parser.add_argument(
          "--date",
          type=str,
          default="latest",
          help="Date of the wikipedia dump file. You can choose a date like "
          '"--date 20200201" or use "--date latest"',
      )
      parser.add_argument(
          "-i",
          "--input",
          default=None,
          help="path to XML wiki dump file.",
      )
      parser.add_argument(
          "-o",
          "--output",
          default="wikicorpus",
          help="directory for downloaded or formatted files",
      )
      parser.add_argument(
          "-b",
          "--bytes",
          default="100M",
          help="maximum bytes per extracted file (default %(default)s)",
          metavar="n[KMG]",
      )
      parser.add_argument(
          "--num_process",
          type=int,
          default=os.cpu_count(),
          help="number of processes for multiprocessing",
      )
      parser.add_argument(
          "--num_out_files",
          type=int,
          default=1000,
          help="Number of desired output files, where each is processed"
          " independently by a worker.",
      )
      parser.add_argument(
          "--segment_sentences",
          action="store_true",
          help="directory for downloaded  files",
      )
      parser.add_argument(
          "-q",
          "--quiet",
          action="store_true",
          help="suppress reporting progress info",
      )
      parser.add_argument(
          "--segment_num_worker",
          type=int,
          default=8,
          help="process num when segmenting articles",
      )
      return parser
  
imports: import os
  import sys
  import glob
  import math
  import time
  import tarfile
  import argparse
  import multiprocessing
  from collections import defaultdict
  from gluonnlp.utils.misc import download, load_checksum_stats
  from gluonnlp.utils.lazy_imports import try_import_wikiextractor
  from gluonnlp.base import get_repo_url
  from itertools import islice
  import nltk
  import statistics
  from segment_sentences import Sharding, segment_sentences, NLTKSegmenter
label_desc: Use image node_id 4 for calling a global function with example usage: get_parser() and returns: parser