feat: include size in the final printout (#975)
* feat: include size in the final printout Co-authored-by: Joe Rickerby <joerick@mac.com>
This commit is contained in:
co-authored by
Joe Rickerby
parent
18ba7700f6
commit
45e5768514
+19
-3
@@ -12,7 +12,7 @@ import urllib.request
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from typing import Any, Dict, Iterable, Iterator, List, Optional, TextIO
|
from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Optional, TextIO
|
||||||
|
|
||||||
import bracex
|
import bracex
|
||||||
import certifi
|
import certifi
|
||||||
@@ -352,11 +352,27 @@ def print_new_wheels(msg: str, output_dir: Path) -> Iterator[None]:
|
|||||||
existing_contents = set(output_dir.iterdir())
|
existing_contents = set(output_dir.iterdir())
|
||||||
yield
|
yield
|
||||||
final_contents = set(output_dir.iterdir())
|
final_contents = set(output_dir.iterdir())
|
||||||
new_contents = final_contents - existing_contents
|
|
||||||
|
class FileReport(NamedTuple):
|
||||||
|
name: str
|
||||||
|
size: str
|
||||||
|
|
||||||
|
new_contents = [
|
||||||
|
FileReport(wheel.name, f"{(wheel.stat().st_size + 1023) // 1024:,d}")
|
||||||
|
for wheel in final_contents - existing_contents
|
||||||
|
]
|
||||||
|
max_name_len = max(len(f.name) for f in new_contents)
|
||||||
|
max_size_len = max(len(f.size) for f in new_contents)
|
||||||
n = len(new_contents)
|
n = len(new_contents)
|
||||||
s = time.time() - start_time
|
s = time.time() - start_time
|
||||||
m = s / 60
|
m = s / 60
|
||||||
print(msg.format(n=n, s=s, m=m), *sorted(f" {f.name}" for f in new_contents), sep="\n")
|
print(
|
||||||
|
msg.format(n=n, s=s, m=m),
|
||||||
|
*sorted(
|
||||||
|
f" {f.name:<{max_name_len}s} {f.size:>{max_size_len}s} kB" for f in new_contents
|
||||||
|
),
|
||||||
|
sep="\n",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_pip_version(env: Dict[str, str]) -> str:
|
def get_pip_version(env: Dict[str, str]) -> str:
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ from cibuildwheel.util import print_new_wheels
|
|||||||
def test_printout_wheels(tmp_path, capsys):
|
def test_printout_wheels(tmp_path, capsys):
|
||||||
tmp_path.joinpath("example.0").touch()
|
tmp_path.joinpath("example.0").touch()
|
||||||
with print_new_wheels("TEST_MSG: {n}", tmp_path):
|
with print_new_wheels("TEST_MSG: {n}", tmp_path):
|
||||||
tmp_path.joinpath("example.1").touch()
|
tmp_path.joinpath("example.1").write_bytes(b"0" * 1023)
|
||||||
tmp_path.joinpath("example.2").touch()
|
tmp_path.joinpath("example.2").write_bytes(b"0" * 1025)
|
||||||
|
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert captured.err == ""
|
assert captured.err == ""
|
||||||
|
|
||||||
assert "example.0" not in captured.out
|
assert "example.0" not in captured.out
|
||||||
assert "example.1\n" in captured.out
|
assert "example.1 1 kB\n" in captured.out
|
||||||
assert "example.2\n" in captured.out
|
assert "example.2 2 kB\n" in captured.out
|
||||||
assert "TEST_MSG:" in captured.out
|
assert "TEST_MSG:" in captured.out
|
||||||
assert "TEST_MSG: 2\n" in captured.out
|
assert "TEST_MSG: 2\n" in captured.out
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user