Skip to content
Snippets Groups Projects
Commit 69572fcc authored by Alan De Smet's avatar Alan De Smet
Browse files

Unify clean up report generation

parent 8260c2ef
No related branches found
No related tags found
No related merge requests found
......@@ -511,13 +511,23 @@ class CleaningStats:
self.size_deleted = 0
self.num_kept = 0
self.size_kept = 0
def deleted(self, filename, size):
self.num_deleted += 1
self.size_deleted += size
def kept(self, filename, size):
self.num_kept += 1
self.size_kept += size
def report(self):
""" Return list of strings suitable for output to user, one per line """
return [
f'Removed {self.num_deleted:,} files totaling {human_bytes(self.size_deleted)} bytes',
f'Kept {self.num_kept:,} files totaling {human_bytes(self.size_kept)} bytes',
]
def unlink_if_old(filename, expiration_time, stats):
""" If filename's mtime is older than expiration_time, remove it
......
......@@ -112,8 +112,8 @@ def main():
csppfetch.delete_old_files(args.temporal_dir+"/L2", args.oldest, stats)
if args.want_summary:
sys.stdout.write('Expiring Old Temporal Data Summary\n')
sys.stdout.write(f' Removed {stats.num_deleted} files totaling {stats.size_deleted} bytes\n')
sys.stdout.write(f' Kept {stats.num_kept} files totaling {stats.size_kept} bytes\n')
for line in stats.report():
sys.stdout.write(f" {line}\n")
else: # No lock
sys.stdout.write("Cleaning skipped; another process is already doing so.")
......
......@@ -171,8 +171,8 @@ def main():
stats = aitf.ancil.csppfetch.delete_old_files(args.cache, expiration)
if args.want_summary:
sys.stdout.write('Expiring Old Data Summary\n')
sys.stdout.write(f' Removed {stats.num_deleted} files totaling {stats.size_deleted} bytes\n')
sys.stdout.write(f' Kept {stats.num_kept} files totaling {stats.size_kept} bytes\n')
for line in stats.report():
sys.stdout.write(f' {line}\n')
return 0
......
......@@ -153,8 +153,8 @@ def main():
stats = aitf.ancil.csppfetch.delete_old_files(args.dir, expiration)
if args.want_summary:
sys.stdout.write('Expiring Old Data Summary\n')
sys.stdout.write(f' Removed {stats.num_deleted} files totaling {stats.size_deleted} bytes\n')
sys.stdout.write(f' Kept {stats.num_kept} files totaling {stats.size_kept} bytes\n')
for line in stats.report():
sys.stdout.write(f' {line}\n')
return 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment