Source code for

import sys
import ssl
import os.path as osp
from six.moves import urllib

from .makedirs import makedirs

[docs]def download_url(url: str, folder: str, log: bool = True): r"""Downloads the content of an URL to a specific folder. Args: url (string): The url. folder (string): The folder. log (bool, optional): If :obj:`False`, will not print anything to the console. (default: :obj:`True`) """ filename = url.rpartition('/')[2] filename = filename if filename[0] == '?' else filename.split('?')[0] path = osp.join(folder, filename) if osp.exists(path): # pragma: no cover if log: print(f'Using existing file {filename}', file=sys.stderr) return path if log: print(f'Downloading {url}', file=sys.stderr) makedirs(folder) context = ssl._create_unverified_context() data = urllib.request.urlopen(url, context=context) with open(path, 'wb') as f: f.write( return path