Skip to content

Commit

Permalink
Use a more parseable output for --list
Browse files Browse the repository at this point in the history
  • Loading branch information
hkbakke committed Feb 3, 2017
1 parent eb3054a commit cfadba5
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/zfssnap.py
Original file line number Diff line number Diff line change
Expand Up @@ -1131,13 +1131,17 @@ def _print_header(text):
print('\n%s' % text)
print('-' * len(text))

def _print_datasets(self, datasets, header='DATASETS'):
self._print_header(header)
for dataset in sorted(datasets, key=attrgetter('name')):
print(dataset.name)

def _print_snapshots(self, datasets, label, header='SNAPSHOTS'):
self._print_header(header)
for dataset in sorted(datasets, key=attrgetter('name')):
print('%s:' % dataset.name)
snapshots = dataset.get_snapshots(label)
for snapshot in sorted(snapshots, key=attrgetter('name')):
print('\t%s' % snapshot.snapshot_name)
print(snapshot.name)

def _print_config(self, config):
self._print_header('POLICY CONFIG')
Expand All @@ -1153,6 +1157,7 @@ def _list_snapshot_policy(self, policy):
exclude=policy_config.get('exclude', None))
]
self._print_config(policy_config)
self._print_datasets(datasets)
self._print_snapshots(datasets, label)

def _list_send_to_file_policy(self, policy):
Expand All @@ -1161,6 +1166,7 @@ def _list_send_to_file_policy(self, policy):
src_host = Host(cmds=self.config.get_cmds())
src_dataset = src_host.get_filesystem(policy_config['source']['dataset'])
self._print_config(policy_config)
self._print_datasets([src_dataset])
self._print_snapshots([src_dataset], label, 'SOURCE SNAPSHOTS')

def _list_receive_from_file_policy(self, policy):
Expand All @@ -1175,6 +1181,7 @@ def _list_receive_from_file_policy(self, policy):
dst_datasets = []

self._print_config(policy_config)
self._print_datasets(dst_datasets)
self._print_snapshots(dst_datasets, label, 'DESTINATION SNAPSHOTS')

def _list_replicate_policy(self, policy):
Expand All @@ -1195,6 +1202,8 @@ def _list_replicate_policy(self, policy):
dst_datasets = []

self._print_config(policy_config)
self._print_datasets([src_dataset])
self._print_datasets(dst_datasets)
self._print_snapshots([src_dataset], label, 'SOURCE SNAPSHOTS')
self._print_snapshots(dst_datasets, label, 'DESTINATION SNAPSHOTS')

Expand Down

0 comments on commit cfadba5

Please sign in to comment.