class_docstr: WMT translation dataset.
code: def _split_generators(self, dl_manager):
      source, _ = self.builder_config.language_pair
  
      def _check_manual_files(ds):
          """Verifies the manual files are downloaded for the given sub-dataset."""
          manual_dl_files = ds.get_manual_dl_files(source)
          manual_paths = []
          for fname in manual_dl_files:
              manual_path = os.path.join(dl_manager.manual_dir, fname)
              if not epath.Path(manual_path).exists():
                  raise AssertionError(
                      "For {0}, you must manually download the following file(s) "
                      "from {1} and place them in {2}: {3}".format(
                          ds.name,
                          ds.get_url(source),
                          dl_manager.manual_dir,
                          ", ".join(manual_dl_files),
                      )
                  )
              manual_paths.append(manual_path)
          return manual_paths
  
      manual_paths = {}
      urls_to_download = {}
      downloaded_files = {}
      for ss_name in itertools.chain.from_iterable(
          self.subsets.values()
      ):
          if ss_name == "czeng_17":
              # CzEng1.7 is CzEng1.6 with some blocks filtered out. We must download
              # the filtering script so we can parse out which blocks need to be
              # removed.
              urls_to_download[
                  _CZENG17_FILTER.name
              ] = _CZENG17_FILTER.get_url(source)
          ds = DATASET_MAP[ss_name]
          if ds.get_manual_dl_files(source):
              manual_paths[ss_name] = _check_manual_files(ds)
          else:
              urls = ds.get_url(source)
              # This domain throws a 503 if we attempt to download in parallel.
              sequential_dl_urls = [
                  url for url in urls if "www.statmt.org" in url
              ]
              parallel_dl_urls = [
                  url for url in urls if url not in sequential_dl_urls
              ]
              if sequential_dl_urls:
                  downloaded_files[ss_name] = [
                      dl_manager.download_and_extract(url)
                      for url in sequential_dl_urls
                  ] + dl_manager.download_and_extract(parallel_dl_urls)
              else:
                  urls_to_download[ss_name] = urls
  
      # Download and extract files from URLs.
      downloaded_files.update(
          dl_manager.download_and_extract(urls_to_download)
      )
      # Extract manually downloaded files.
      manual_files = dl_manager.extract(manual_paths)
  
      manual_files = tree_utils.map_structure(os.fspath, manual_files)
      downloaded_files = tree_utils.map_structure(
          os.fspath, downloaded_files
      )
  
      extraction_map = dict(downloaded_files, **manual_files)
  
      return [
          tfds.core.SplitGenerator(  # pylint:disable=g-complex-comprehension
              name=split,
              gen_kwargs={
                  "split_subsets": split_subsets,
                  "extraction_map": extraction_map,
              },
          )
          for split, split_subsets in self.subsets.items()
      ]
  
imports: import codecs
  import functools
  import gzip
  import itertools
  import os
  import re
  from typing import List
  from xml.etree import ElementTree
  from absl import logging
  from etils import epath
  from tensorflow_datasets.core.utils import tree_utils
  import tensorflow_datasets.public_api
label_desc: Use image node_id 5 for calling the WmtTranslate obj's underlying member method code with example usage: obj._split_generators(dl_manager) and returns: unknown, manual_paths