code: def get_cache_path(relative_path, cache_dir=None):
      """Return the absolute path to the cached data file"""
      if cache_dir is None and os.access(
          os.path.expanduser("~"), os.W_OK
      ):
          cache_dir = os.path.join(os.path.expanduser("~"), ".cornac")
          if not os.path.exists(cache_dir):
              os.makedirs(cache_dir)
  
      if not os.access(cache_dir, os.W_OK):
          cache_dir = os.path.join("/tmp", ".cornac")
      cache_path = os.path.join(cache_dir, relative_path)
  
      if not os.path.exists(os.path.dirname(cache_path)):
          os.makedirs(os.path.dirname(cache_path))
  
      return cache_path, cache_dir
  
file_path: cornac/cornac/utils/download.py
imports: import os
  import shutil
  import zipfile
  import tarfile
  from urllib import request
  from tqdm.auto import tqdm
label_desc: Use image node_id 3 for calling a global function with example usage: get_cache_path(relative_path, cache_dir) and returns: cache_path,  cache_dir