From 69572fcc095b3fda551afeddc29e6e2a7fcbbf3e Mon Sep 17 00:00:00 2001 From: Alan De Smet <alan.desmet@ssec.wisc.edu> Date: Fri, 12 May 2023 10:07:57 -0500 Subject: [PATCH] Unify clean up report generation --- csppfetch/__init__.py | 10 ++++++++++ example/aitf-clean-temporal | 4 ++-- example/aitf-data-for-run | 4 ++-- example/aitf-update-cache | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/csppfetch/__init__.py b/csppfetch/__init__.py index e2db4ef..d444bab 100644 --- a/csppfetch/__init__.py +++ b/csppfetch/__init__.py @@ -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 diff --git a/example/aitf-clean-temporal b/example/aitf-clean-temporal index 45cea89..87376c6 100755 --- a/example/aitf-clean-temporal +++ b/example/aitf-clean-temporal @@ -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.") diff --git a/example/aitf-data-for-run b/example/aitf-data-for-run index 149695e..a373c20 100755 --- a/example/aitf-data-for-run +++ b/example/aitf-data-for-run @@ -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 diff --git a/example/aitf-update-cache b/example/aitf-update-cache index 9797d53..6d7df93 100755 --- a/example/aitf-update-cache +++ b/example/aitf-update-cache @@ -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 -- GitLab