A Python port of the Invisible Internet Project (I2P)
at main 31 lines 787 B view raw
1"""Temp directory scanner and cleaner. 2 3Ported from net.i2p.util.TempDirScanner. 4""" 5 6from __future__ import annotations 7 8import os 9import time 10 11 12def scan_temp_dir(directory: str, max_age_secs: float) -> list[str]: 13 """Remove files older than max_age_secs from directory. 14 15 Returns list of removed file paths. 16 """ 17 removed: list[str] = [] 18 now = time.time() 19 try: 20 for entry in os.scandir(directory): 21 if entry.is_file(): 22 age = now - entry.stat().st_mtime 23 if age > max_age_secs: 24 try: 25 os.unlink(entry.path) 26 removed.append(entry.path) 27 except OSError: 28 pass 29 except OSError: 30 pass 31 return removed