List candidates for numbered directories to be removed - follows py.path.
(root: Path, prefix: str, keep: int)
| 339 | |
| 340 | |
| 341 | def cleanup_candidates(root: Path, prefix: str, keep: int) -> Iterator[Path]: |
| 342 | """List candidates for numbered directories to be removed - follows py.path.""" |
| 343 | max_existing = max(map(parse_num, find_suffixes(root, prefix)), default=-1) |
| 344 | max_delete = max_existing - keep |
| 345 | entries = find_prefixed(root, prefix) |
| 346 | entries, entries2 = itertools.tee(entries) |
| 347 | numbers = map(parse_num, extract_suffixes(entries2, prefix)) |
| 348 | for entry, number in zip(entries, numbers, strict=True): |
| 349 | if number <= max_delete: |
| 350 | yield Path(entry) |
| 351 | |
| 352 | |
| 353 | def cleanup_dead_symlinks(root: Path) -> None: |
no test coverage detected