benchmarking/download_benchmarks/django_file_downloader.py (20 lines of code) (raw):

from __future__ import absolute_import, division, print_function, unicode_literals import os import requests from download_benchmarks.file_downloader_base import FileDownloaderBase from download_benchmarks.file_downloader_base import registerFileDownloader from utils.custom_logger import getLogger class DjangoFileDownloader(FileDownloaderBase): def __init__(self, **kwargs): super(DjangoFileDownloader, self).__init__() self.root_model_dir = kwargs["args"].root_model_dir def download_file(self, location, path): getLogger().info("Downloading from {} to {}".format(location, path)) basedir = os.path.dirname(path) if not os.path.exists(basedir): os.makedirs(basedir) r = requests.get(location) if r.status_code == 200: with open(path, "wb") as f: f.write(r.content) registerFileDownloader("http", DjangoFileDownloader)