|
|
import os.path |
|
|
import os |
|
|
from tqdm import tqdm |
|
|
import requests |
|
|
from pathlib import Path |
|
|
|
|
|
def download_from_url(url, destination): |
|
|
if os.path.exists(destination): |
|
|
print("Skipping download as file in {} exists already".format(destination)) |
|
|
return |
|
|
response = requests.get(url, stream=True) |
|
|
total_size_in_bytes = int(response.headers.get('content-length', 0)) |
|
|
block_size = 1024 |
|
|
progress_bar = tqdm(total=total_size_in_bytes, unit='iB', unit_scale=True) |
|
|
os.makedirs(Path(destination).parent, exist_ok=True) |
|
|
with open(destination, 'wb') as file: |
|
|
for data in response.iter_content(block_size): |
|
|
progress_bar.update(len(data)) |
|
|
file.write(data) |
|
|
progress_bar.close() |
|
|
if total_size_in_bytes != 0 and progress_bar.n != total_size_in_bytes: |
|
|
print("ERROR, something went wrong") |