def download_url_once()

in utilities/networking.py [0:0]


def download_url_once(url, filename, progress=True):
  """
  Download file from a URL to filename, optionally
  displaying progress bar with tqdm
  taken from https://stackoverflow.com/a/37573701
  """
  # Streaming, so we can iterate over the response.
  try:
    r = requests.get(url, stream=True, proxies=proxies)
  except ConnectionError as err:
    print(err)
    return False
  # Total size in bytes.
  total_size = int(r.headers.get('content-length', 0))
  block_size = 1024 #1 Kibibyte
  if progress:
    t=tqdm(total=total_size, unit='iB', unit_scale=True)
  done = True
  datalen = 0
  with open(filename, 'wb') as f:
    itr = r.iter_content(block_size)
    while True:
      try:
        try:
          data = next(itr)
        except StopIteration:
          break
        if progress:
          t.update(len(data))
        datalen += len(data)
        f.write(data)
      except KeyboardInterrupt:
        done = False
        print('Cancelled')
      except ConnectionError as err:
        done = False
        print(err)
  if progress:
    t.close()
  if (not done) or (total_size != 0 and datalen != total_size):
    print("ERROR, something went wrong")
    try:
      os.remove(filename)
    except OSError as e:
      print(e)
    return False
  else:
    return True