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

1import griddle 

2import noiftimer 

3import printbuddies 

4 

5from .pathier import Pathier, Pathish, Pathy 

6 

7__all__ = ["Pathier", "Pathy", "Pathish"] 

8 

9 

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)}") 

27 

28 

29__version__ = "1.5.0"