class_docstr: Class that downloads a dataset and caches it locally.
  Assumes that the file can be downloaded (i.e. publicly available via a URI)
docstr: Load the dataset in memory, as a TimeSeries.
  Downloads the dataset if it is not present already
  
  Raises
  -------
  DatasetLoadingException
      If loading fails (MD5 Checksum is invalid, Download failed, Reading from disk failed)
  
  Returns
  -------
  time_series: TimeSeries
      A TimeSeries object that contains the dataset
docstr_tok: ["Load","the","dataset","in","memory",",","as","a","TimeSeries",".","Downloads","the","dataset","if","it","is","not","present","already","Raises","--","--","--","-","DatasetLoadingException","If","loading","fails","(","MD5","Checksum","is","invalid",",","Download","failed",",","Reading","from","disk","failed",")","Returns","--","--","--","-","time_series",":","TimeSeries","A","TimeSeries","object","that","contains","the","dataset"]
code: def load(self) -> TimeSeries:
      """
      Load the dataset in memory, as a TimeSeries.
      Downloads the dataset if it is not present already
  
      Raises
      -------
      DatasetLoadingException
          If loading fails (MD5 Checksum is invalid, Download failed, Reading from disk failed)
  
      Returns
      -------
      time_series: TimeSeries
          A TimeSeries object that contains the dataset
      """
      if not self._is_already_downloaded():
          if self._metadata.uri.endswith(".zip"):
              self._download_zip_dataset()
          else:
              self._download_dataset()
      self._check_dataset_integrity_or_raise()
  
      return self._load_from_disk(
          self._get_path_dataset(), self._metadata
      )
  
imports: import hashlib
  import os
  import tempfile
  import zipfile
  from abc import ABC, abstractmethod
  from dataclasses import dataclass
  from pathlib import Path
  from typing import Callable, List, Optional, Union
  import pandas
  import requests
  from darts import TimeSeries
  from darts.logging import get_logger
label_desc: Use image node_id 2 for calling the DatasetLoader obj's underlying member method code with example usage: obj.load() and returns: self