code: def open_uri_cont(self, filespec, loader_cont_fn):
          
          info = iohelper.get_fileinfo(filespec)
  
          # download file if necessary
          if ((not info.ondisk) and (info.url is not None) and
                  (not info.url.startswith('file:'))):
              # create up a future to do the download and set up a
              # callback to handle it when finished
              def _download_cb(future):
                  filepath = future.get_value(block=False)
                  self.logger.debug("downloaded: %s" % (filepath))
                  self.gui_do(loader_cont_fn, filepath + info.idx)
  
              future = Future.Future()
              future.add_callback('resolved', _download_cb)
              self.add_download(info, future)
              return
  
          # invoke the continuation
          loader_cont_fn(info.filepath + info.idx)
docs: Download a URI (if necessary) and do some action on it.
  
          If the file is already present (e.g. a file:// URI) then this
          merely confirms that and invokes the continuation.
  
          Parameters
          ----------
          filespec : str
              The path of the file to load (can be a non-local URI)
  
          loader_cont_fn : func (str) -> None
              A continuation consisting of a function of one argument
              that does something with the file once it is downloaded
              The parameter is the local filepath after download, plus
              any "index" understood by the loader.