from pathlib import Path from openwrt_backup.config import HOSTNAME, NUMBER def get_all_but_last_n(p: Path, n: int, hostname): files = list(p.glob("*.tar.gz")) hostname_files = list( filter(lambda f: f.name.split("__")[HOSTNAME] == hostname, files) ) sorted_files = sorted( hostname_files, key=lambda f: int(f.name.split("__")[NUMBER]), reverse=True ) return sorted_files[n:]