Check with the user that the are happy with terms and conditions for the data set, then download it.

def download_data(dataset_name=None):
    """Check with the user that the are happy with terms and conditions for the data set, then download it."""
    try:
        from itertools import zip_longest
    except ImportError:
        from itertools import izip_longest as zip_longest

    dr = data_resources[dataset_name]
    if not authorize_download(dataset_name):
        raise Exception("Permission to download data set denied.")

    zip_urls = (dr['urls'], dr['files'])

    if 'save_names' in dr: zip_urls += (dr['save_names'], )
    else: zip_urls += ([],)

    if 'suffices' in dr: zip_urls += (dr['suffices'], )
    else: zip_urls += ([],)

    for url, files, save_names, suffices in zip_longest(*zip_urls, fillvalue=[]):
        for f, save_name, suffix in zip_longest(files, save_names, suffices, fillvalue=None):
            download_url(os.path.join(url,f), dataset_name, save_name, suffix=suffix)

    return True