updated dependencies and fixed terminal size
CI / build (push) Successful in 26s

This commit is contained in:
2026-04-21 18:20:45 +08:00
parent 253483c992
commit 013b859cdd
5 changed files with 52 additions and 45 deletions
+10 -6
View File
@@ -1,6 +1,7 @@
import json
import logging
import re
import shutil
import urllib.parse
from argparse import ArgumentParser
from dataclasses import dataclass, fields
@@ -61,7 +62,8 @@ class PackageUploadProgressBar(Bar):
**kwargs: Any):
kwargs.setdefault('suffix',
'speed: %(total_speed)s, completed: %(percent).2f%% - ETA: %(eta_td)s')
kwargs.setdefault('width', 48)
terminal_size = shutil.get_terminal_size(fallback=(80, 24))
kwargs.setdefault('width', terminal_size[0] - 80)
super().__init__(*args, **kwargs)
self.uploaded_size = uploaded_size
self.packages_total_size = packages_total_size
@@ -77,7 +79,7 @@ class PackageUploadProgressBar(Bar):
@property
def total_speed(self) -> str:
return format_filesize(self.total_avg) + '/s'
return format_filesize(self.total_avg, 5, 2) + '/s'
@Progress.eta.getter
def eta(self) -> int:
@@ -93,7 +95,7 @@ class PackageUploadProgressBar(Bar):
@property
def upload_progress(self) -> str:
return f'{format_filesize(self.index)} / {format_filesize(self.max)}'
return f'{format_filesize(self.index, 5, 2)} / {format_filesize(self.max, 5, 2)}'
class XferProgress:
@@ -261,13 +263,15 @@ class JpacrepoClient:
start_ts = monotonic()
for i, file in enumerate(files):
upload_size = file.stat().st_size
if len(file.name) <= 16:
filename = file.name
else:
filename = file.name[:14] + '...'
kwargs = dict(
width=64,
max=upload_size,
message=f'({i + 1}/{len(files)}) {file.name}',
message=f'({i + 1}/{len(files)}) {filename}',
start_ts=start_ts
)
with PackageUploadProgressBar(progress.uploaded_size, total_size, **kwargs) as bar:
bar.start_ts = start_ts
progress.bar = bar