diff options
author | Aarni Koskela <akx@iki.fi> | 2022-07-13 14:24:52 +0300 |
---|---|---|
committer | Aarni Koskela <akx@iki.fi> | 2022-07-13 14:24:52 +0300 |
commit | 4c837f152652e273e6319d1569ba7e638eda14d2 (patch) | |
tree | b0a2aedef5dd62681abc18377acfecfcae097358 | |
parent | 680a2f273e2794b6a5a42f814bb962b1f8fc6d32 (diff) | |
download | babel-4c837f152652e273e6319d1569ba7e638eda14d2.tar.gz |
Downloader: use shutil.get_terminal_size()
-rwxr-xr-x | scripts/download_import_cldr.py | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/scripts/download_import_cldr.py b/scripts/download_import_cldr.py index 19aa442..2cdb1fc 100755 --- a/scripts/download_import_cldr.py +++ b/scripts/download_import_cldr.py @@ -17,27 +17,14 @@ FILESUM = 'c64f3338e292962817b043dd11e9c47f533c9b70d432f83e80654e20f4937c72b37e6 BLKSIZE = 131072 -def get_terminal_width(): - try: - import fcntl - import termios - import struct - fd = sys.stdin.fileno() - cr = struct.unpack('hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '1234')) - return cr[1] - except Exception: - return 80 - - def reporthook(block_count, block_size, total_size): bytes_transmitted = block_count * block_size - cols = get_terminal_width() + cols = shutil.get_terminal_size().columns buffer = 6 percent = float(bytes_transmitted) / (total_size or 1) done = int(percent * (cols - buffer)) - sys.stdout.write('\r') - sys.stdout.write(' ' + '=' * done + ' ' * (cols - done - buffer)) - sys.stdout.write('% 4d%%' % (percent * 100)) + bar = ('=' * done).ljust(cols - buffer) + sys.stdout.write(f'\r{bar}{int(percent * 100): 4d}%') sys.stdout.flush() |