docs: def download(self, url, path):
          """Download url and save data to path."""
          # original_url = url
  #        print(url)
          qurl = QUrl(url)
          url = to_text_string(qurl.toEncoded(), encoding='utf-8')
  
          logger.debug(str((url, path)))
          if url in self._workers:
              while not self._workers[url].finished:
                  return self._workers[url]
  
          worker = DownloadWorker(url, path)
  
          # Check download folder exists
          folder = os.path.dirname(os.path.abspath(path))
          if not os.path.isdir(folder):
              os.makedirs(folder)
  
          request = QNetworkRequest(qurl)
          self._head_requests[url] = request
          self._paths[url] = path
          self._workers[url] = worker
          self._manager.head(request)
          self._timer.start()
  
          return worker