class_docstr: Cache stores downloaded objects, notably apache-rat.jar. 
docstr: Get or Insert a key from the cache. If the key is not found, the file
  is downloaded from `url`.
docstr_tok: ["Get","or","Insert","a","key","from","the","cache",".","If","the","key","is","not","found",",","the","file","is","downloaded","from","`","url","`","."]
code: def get_or_insert_from_url(self, key, url):
      """
      Get or Insert a key from the cache. If the key is not found, the file
      is downloaded from `url`.
      """
  
      def download(path):
          """Tiny wrapper that download a file and save as key."""
          logger.debug("Downloading {} as {}".format(url, path))
          conn = urlopen(url)
          # Ensure the download is completed before writing to disks.
          content = conn.read()
          with open(path, "wb") as path_fd:
              path_fd.write(content)
  
      return self.get_or_insert(key, download)
  
file_path: arrow/dev/archery/archery/utils/cache.py
imports: from pathlib import Path
  import os
  from urllib.request import urlopen
  from .logger import logger
label_desc: Use image node_id 6 for calling the Cache obj's underlying member method code with example usage: obj.get_or_insert_from_url(key, url) and returns: self