From: Daan De Meyer Date: Tue, 28 Nov 2023 16:36:27 +0000 (+0100) Subject: Speed up empty_directory() X-Git-Tag: v20~125 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a65feb27bcf904973396a72f307335107cb190d3;p=thirdparty%2Fmkosi.git Speed up empty_directory() Let's invoke rm once instead of N times. --- diff --git a/mkosi/__init__.py b/mkosi/__init__.py index 909657b25..19350f34d 100644 --- a/mkosi/__init__.py +++ b/mkosi/__init__.py @@ -1603,8 +1603,7 @@ def print_output_size(path: Path) -> None: def empty_directory(path: Path) -> None: try: - for f in os.listdir(path): - rmtree(path / f) + rmtree(*path.iterdir()) except FileNotFoundError: pass diff --git a/mkosi/tree.py b/mkosi/tree.py index 952c75646..063361a08 100644 --- a/mkosi/tree.py +++ b/mkosi/tree.py @@ -83,8 +83,8 @@ def copy_tree(config: MkosiConfig, src: Path, dst: Path, *, preserve_owner: bool run(copy) -def rmtree(path: Path) -> None: - run(["rm", "-rf", "--", path]) +def rmtree(*paths: Path) -> None: + run(["rm", "-rf", "--", *paths]) def move_tree(config: MkosiConfig, src: Path, dst: Path) -> None: