Fixes for PR #4

This commit is contained in:
Simon Alibert
2024-03-01 14:59:05 +01:00
parent b862145e22
commit c1942d45d3
4 changed files with 38 additions and 39 deletions

View File

@@ -0,0 +1,30 @@
import io
import zipfile
from pathlib import Path
import requests
import tqdm
def download_and_extract_zip(url: str, destination_folder: Path) -> bool:
print(f"downloading from {url}")
response = requests.get(url, stream=True)
if response.status_code == 200:
total_size = int(response.headers.get("content-length", 0))
progress_bar = tqdm.tqdm(total=total_size, unit="B", unit_scale=True)
zip_file = io.BytesIO()
for chunk in response.iter_content(chunk_size=1024):
if chunk:
zip_file.write(chunk)
progress_bar.update(len(chunk))
progress_bar.close()
zip_file.seek(0)
with zipfile.ZipFile(zip_file, "r") as zip_ref:
zip_ref.extractall(destination_folder)
return True
else:
return False