Coverage for src\pathier\__init__.py: 42%
19 statements
« prev ^ index » next coverage.py v7.2.2, created at 2024-02-16 14:52 -0600
« prev ^ index » next coverage.py v7.2.2, created at 2024-02-16 14:52 -0600
1import griddle
2import noiftimer
3import printbuddies
5from .pathier import Pathier, Pathish, Pathy
7__all__ = ["Pathier", "Pathy", "Pathish"]
10@noiftimer.time_it()
11def sizeup():
12 """Print the sub-directories and their sizes of the current working directory."""
13 sizes: dict[str, int] = {}
14 folders = [folder for folder in Pathier.cwd().iterdir() if folder.is_dir()]
15 print(f"Sizing up {len(folders)} directories...")
16 with printbuddies.ProgBar(len(folders)) as prog:
17 for folder in folders:
18 prog.display(f"Scanning '{folder.name}'")
19 sizes[folder.name] = folder.size
20 total_size = sum(sizes[folder] for folder in sizes)
21 size_list = [
22 (folder, Pathier.format_bytes(sizes[folder]))
23 for folder in sorted(list(sizes.keys()), key=lambda f: sizes[f], reverse=True)
24 ]
25 print(griddle.griddy(size_list, ["Dir", "Size"]))
26 print(f"Total size of '{Pathier.cwd()}': {Pathier.format_bytes(total_size)}")
29__version__ = "1.5.0"