Fix formatters used for listing actions

This patch fixes the formatters used for listing actions.

Change-Id: I4670caf08424afc5531a269c219381d352fe2be3
This commit is contained in:
tengqm 2015-12-29 01:47:25 -05:00
parent 58f3bbe41c
commit 9d80e939d5
2 changed files with 15 additions and 32 deletions
senlinclient
tests/unit/v1
v1

@ -1341,13 +1341,9 @@ class ShellTest(testtools.TestCase):
queries['status'] = 'ACTIVE'
actions = mock.Mock()
client.actions.return_value = actions
fmt_dp_on = mock.Mock()
sh._fmt_depends_on = fmt_dp_on
fmt_dp_by = mock.Mock()
sh._fmt_depended_by = fmt_dp_by
formatters = {
'depends_on': fmt_dp_on,
'depended_by': fmt_dp_by
'depends_on': mock.ANY,
'depended_by': mock.ANY
}
args.full_id = True
sortby_index = None

@ -1268,22 +1268,6 @@ def do_event_show(sc, args):
# ACTIONS
def _fmt_depends_on(obj):
if not obj.depends_on:
return ''
idlist = obj.depends_on
return '\n'.join(idlist)
def _fmt_depended_by(obj):
if not obj.depended_by:
return ''
idlist = obj.depended_by
return '\n'.join(idlist)
@utils.arg('-f', '--filters', metavar='<KEY1=VALUE1;KEY2=VALUE2...>',
help=_('Filter parameters to apply on returned actions. '
'This can be specified multiple times, or once with '
@ -1329,17 +1313,20 @@ def do_action_list(sc, args):
actions = sc.actions(**queries)
formatters = {
'depends_on': _fmt_depends_on,
'depended_by': _fmt_depended_by
}
if not args.full_id:
formatters = {}
if args.full_id:
f_depon = lambda x: '\n'.join(a for a in x.depends_on)
f_depby = lambda x: '\n'.join(a for a in x.depended_by)
formatters['depends_on'] = f_depon
formatters['depended_by'] = f_depby
else:
formatters['id'] = lambda x: x.id[:8]
formatters['target'] = lambda x: x.target[:8] if x.target else ''
dp_on = lambda x: [item[:8] for item in x.depends_on]
formatters['depend_on'] = '\n'.join(dp_on)
dp_by = lambda x: [item[:8] for item in x.depended_by]
formatters['depended_by'] = '\n'.join(dp_by)
formatters['target'] = lambda x: x.target[:8]
f_depon = lambda x: '\n'.join(a[:8] for a in x.depends_on)
f_depby = lambda x: '\n'.join(a[:8] for a in x.depended_by)
formatters['depends_on'] = f_depon
formatters['depended_by'] = f_depby
utils.print_list(actions, fields, formatters=formatters,
sortby_index=sortby_index)