From 78c2ef6a13e53bc48f7f7df3151250f0878d9dcf Mon Sep 17 00:00:00 2001 From: Dan Christensen Date: Mon, 24 Feb 2014 19:46:56 -0500 Subject: [PATCH] When -v is specified with prune, also show the timestamp of each archive, which is helpful for debugging. Unify this with the formatting done by "attic list". The spacing is chosen so that the attic prune output is 79 characters wide when the archive names are at most 36 characters. --- attic/archiver.py | 10 +++++----- attic/helpers.py | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/attic/archiver.py b/attic/archiver.py index 425f90a83..6020571e7 100644 --- a/attic/archiver.py +++ b/attic/archiver.py @@ -14,7 +14,7 @@ from attic.key import key_creator from attic.helpers import Error, location_validator, format_time, \ format_file_mode, ExcludePattern, exclude_path, adjust_patterns, to_localtime, \ get_cache_dir, get_keys_dir, format_timedelta, prune_within, prune_split, \ - Manifest, remove_surrogates, update_excludes + Manifest, remove_surrogates, update_excludes, format_archive from attic.remote import RepositoryServer, RemoteRepository @@ -277,7 +277,7 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") remove_surrogates(item[b'path']), extra)) else: for archive in sorted(Archive.list_archives(repository, key, manifest), key=attrgetter('ts')): - print('%-20s %s' % (archive.metadata[b'name'], to_localtime(archive.ts).strftime('%c'))) + print(format_archive(archive)) return self.exit_code def do_info(self, args): @@ -329,12 +329,12 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") to_delete = [a for a in archives if a not in keep] for archive in keep: - self.print_verbose('Keeping archive "%s"' % archive.name) + self.print_verbose('Keeping archive: %s' % format_archive(archive)) for archive in to_delete: if args.dry_run: - self.print_verbose('Would prune "%s"' % archive.name) + self.print_verbose('Would prune: %s' % format_archive(archive)) else: - self.print_verbose('Pruning archive "%s"' % archive.name) + self.print_verbose('Pruning archive: %s' % format_archive(archive)) archive.delete(cache) return self.exit_code diff --git a/attic/helpers.py b/attic/helpers.py index 9ef2f7c62..80ab77a3b 100644 --- a/attic/helpers.py +++ b/attic/helpers.py @@ -288,6 +288,10 @@ def format_file_size(v): return '%d B' % v +def format_archive(archive): + return '%-36s %s' % (archive.name, to_localtime(archive.ts).strftime('%c')) + + class IntegrityError(Error): """Data integrity error"""