List candidates for numbered directories to be removed - follows py.path.
(root: Path, prefix: str, keep: int)
| 324 | |
| 325 | |
| 326 | def cleanup_candidates(root: Path, prefix: str, keep: int) -> Iterator[Path]: |
| 327 | """List candidates for numbered directories to be removed - follows py.path.""" |
| 328 | max_existing = max(map(parse_num, find_suffixes(root, prefix)), default=-1) |
| 329 | max_delete = max_existing - keep |
| 330 | paths = find_prefixed(root, prefix) |
| 331 | paths, paths2 = itertools.tee(paths) |
| 332 | numbers = map(parse_num, extract_suffixes(paths2, prefix)) |
| 333 | for path, number in zip(paths, numbers): |
| 334 | if number <= max_delete: |
| 335 | yield path |
| 336 | |
| 337 | |
| 338 | def cleanup_numbered_dir( |
no test coverage detected