Source code for codebots.utilities.web_tools
import requests
from tqdm import tqdm
[docs]def download_file(url, file_path):
"""[summary]
Parameters
----------
url : str
url to the file to be downloaded
temp_dir : obj
TemporaryDirectory object containing the msi package
file_path : str
complete path (directory/name.msi) to the msi package
"""
r = requests.get(url, stream=True) # Streaming to allow the progressbar.
total_size_in_bytes = int(r.headers.get('content-length', 0))
block_size = 1024 # 1 Kibibyte
progress_bar = tqdm(total=total_size_in_bytes, unit='iB', unit_scale=True)
with open(file_path, 'wb') as f:
for data in r.iter_content(block_size):
progress_bar.update(len(data))
f.write(data)
progress_bar.close()
# if total_size_in_bytes != 0 and progress_bar.n != total_size_in_bytes:
# print("ERROR, something went wrong")
# return 1
# else:
# return 0
# if __name__ == "__main__":
# download_file(url='https://miktex.org/download/ctan/systems/win32/miktex/setup/windows-x64/basic-miktex-21.8-x64.exe')