class_docstr: Base class for a downloadable dataset consisting of a single archive file.
  
  It is recommended to extend this class if a dataset can be downloaded from
  the internet as a single archive. For multi-file implementation or if
  a more fine-grained control is required, consider extending
  :class:`DownloadableDataset` instead.
  
  This is a simplified version of :class:`DownloadableDataset` where the
  following assumptions must hold:
  - The dataset is made of a single archive.
  - The archive must be extracted to the root folder "as is" (which means
      that no subdirectories must be created).
  
  The child class is only required to extend the `_load_metadata` method,
  which must check the dataset integrity and load the dataset metadata.
  
  Apart from that, the same assumptions of :class:`DownloadableDataset` hold.
  Remember to call the `_load_dataset` method in the child class constructor.
class_docstr_tok: ["Base","class","for","a","downloadable","dataset","consisting","of","a","single","archive","file",".","It","is","recommended","to","extend","this","class","if","a","dataset","can","be","downloaded","from","the","internet","as","a","single","archive",".","For","multi-file","implementation","or","if","a","more","fine-grained","control","is","required",",","consider","extending",":","class",":","`","DownloadableDataset","`","instead",".","This","is","a","simplified","version","of",":","class",":","`","DownloadableDataset","`","where","the","following","assumptions","must","hold",":","-","The","dataset","is","made","of","a","single","archive",".","-","The","archive","must","be","extracted","to","the","root","folder","``","as","is","''","(","which","means","that","no","subdirectories","must","be","created",")",".","The","child","class","is","only","required","to","extend","the","`","_load_metadata","`","method",",","which","must","check","the","dataset","integrity","and","load","the","dataset","metadata",".","Apart","from","that",",","the","same","assumptions","of",":","class",":","`","DownloadableDataset","`","hold",".","Remember","to","call","the","`","_load_dataset","`","method","in","the","child","class","constructor","."]
code: def _download_error_message(self) -> str:
      return (
          "Error downloading the dataset. Consider downloading "
          "it manually at: " + self.url + " and placing it "
          "in: " + str(self.root)
      )
  
imports: from abc import abstractmethod, ABC
  from pathlib import Path
  from typing import TypeVar, Union, Optional
  import shutil
  import os
  from torch.utils.data.dataset import Dataset
  from torchvision.datasets.utils import download_and_extract_archive, extract_archive, download_url, check_integrity
  from avalanche.benchmarks.datasets.dataset_utils import default_dataset_location
label_desc: Use image node_id 3 for calling the SimpleDownloadableDataset obj's underlying member method code with example usage: obj._download_error_message() and returns: unknown