code: def _download(self, url, path=None, force=False):
          
          if path is None:
              path = url.split('/')[-1]
  
          # Make dir if non existent
          folder = os.path.dirname(os.path.abspath(path))
  
          if not os.path.isdir(folder):
              os.makedirs(folder)
  
          # Start actual download
          try:
              r = requests.get(url, stream=True, proxies=self.proxy_servers)
          except Exception as error:
              print('ERROR', 'here', error)
              logger.error(str(error))
              # Break if error found!
  #            self._sig_download_finished.emit(url, path)
  #            return path
  
          total_size = int(r.headers.get('Content-Length', 0))
  
          # Check if file exists
          if os.path.isfile(path) and not force:
              file_size = os.path.getsize(path)
  
              # Check if existing file matches size of requested file
              if file_size == total_size:
                  self._sig_download_finished.emit(url, path)
                  return path
  
          # File not found or file size did not match. Download file.
          progress_size = 0
          with open(path, 'wb') as f:
              for chunk in r.iter_content(chunk_size=self._chunk_size):
                  if chunk:
                      f.write(chunk)
                      progress_size += len(chunk)
                      self._sig_download_progress.emit(url, path,
                                                       progress_size,
                                                       total_size)
              self._sig_download_finished.emit(url, path)
  
          return path
docs: Callback for download.