From 374aedabb64329930a09eb505306ebf000e2d0be Mon Sep 17 00:00:00 2001 From: Azalea Date: Sat, 29 Oct 2022 17:08:23 -0400 Subject: [PATCH] [F] Fix downloader --- hypy_utils/downloader.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hypy_utils/downloader.py b/hypy_utils/downloader.py index d319f84..76f875d 100644 --- a/hypy_utils/downloader.py +++ b/hypy_utils/downloader.py @@ -1,5 +1,6 @@ from __future__ import annotations +import os from pathlib import Path import requests @@ -17,10 +18,18 @@ def download_file(url: str, file: str | Path): return file chunk_size = 1024 + + try: + term_len = os.get_terminal_size().columns + bar_len = int(term_len * 0.4) + except Exception: + bar_len = 20 + r = requests.get(url, stream=True) with open(file, 'wb') as f: pbar = tqdm.tqdm(unit=" MB", total=int(r.headers['Content-Length']) / 1024 / 1024, - bar_format='{desc} {rate_fmt} {remaining} [{bar}] {percentage:.0f}%', ascii=' #', desc=file.name[:bar_len].ljust(bar_len)) + bar_format='{desc} {rate_fmt} {remaining} [{bar}] {percentage:.0f}%', ascii=' #', + desc=file.name[:bar_len].ljust(bar_len)) for chunk in r.iter_content(chunk_size=chunk_size): if chunk: pbar.update(len(chunk) / 1024 / 1024)