class_docstr: Class providing async download API with checksum validation.
  
  Do not instantiate this class directly. Instead, call `get_downloader()`.
class_docstr_tok: ["Class","providing","async","download","API","with","checksum","validation",".","Do","not","instantiate","this","class","directly",".","Instead",",","call","`","get_downloader","(",")","`","."]
docstr: Downloads the file through `tf.io.gfile` API.
docstr_tok: ["Downloads","the","file","through","`","tf.io.gfile","`","API","."]
code: def _sync_file_copy(
      self,
      filepath: str,
      destination_path: str,
  ) -> DownloadResult:
      """Downloads the file through `tf.io.gfile` API."""
      filename = os.path.basename(filepath)
      out_path = os.path.join(destination_path, filename)
      tf.io.gfile.copy(filepath, out_path)
      url_info = checksums_lib.compute_url_info(
          out_path, checksum_cls=self._checksumer_cls
      )
      self._pbar_dl_size.update_total(url_info.size)
      self._pbar_dl_size.update(url_info.size)
      self._pbar_url.update(1)
      return DownloadResult(
          path=epath.Path(out_path), url_info=url_info
      )
  
imports: import concurrent.futures
  import contextlib
  import dataclasses
  import functools
  import hashlib
  import io
  import os
  import re
  from typing import Any, ContextManager, Iterable, Iterator, Optional, Tuple, Union
  import urllib
  from etils import epath
  import promise
  import requests
  from tensorflow_datasets.core import units
  from tensorflow_datasets.core import utils
  from tensorflow_datasets.core.download import checksums
  from tensorflow_datasets.core.download import util
  from tensorflow_datasets.core.utils import tqdm_utils
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 5 for calling the _Downloader obj's underlying member method code with example usage: obj._sync_file_copy(filepath, destination_path) and returns: DownloadResult