Source code for nntoolbox.utils.download

import requests
from typing import Optional


__all__ = ['download_from_url']


[docs]def download_from_url(url: str, filename: str, max_size: Optional[int]=50): """ Download from a url, and save to filename :param url: :param filename: :param max_size: (in kbs) :return: """ if max_size is not None: max_size *= 1024 req = requests.get(url, stream=max_size is not None) if req.status_code == 404: raise ConnectionError("Request invalid") elif max_size is not None and int(req.headers.get('content-Length')) > max_size: raise ConnectionError("File too large") else: with open(filename, 'wb') as f: # for chunk in req: # f.write(chunk) f.write(req.content)