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"""