From c0c094c413539ca629d39037a1319266ee21e23d Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Tue, 28 Jul 2015 22:30:59 -0400 Subject: [PATCH] now all --list options are working! --- lib/ansible/cli/playbook.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lib/ansible/cli/playbook.py b/lib/ansible/cli/playbook.py index f4d7d87e0c2..f56c5692db0 100644 --- a/lib/ansible/cli/playbook.py +++ b/lib/ansible/cli/playbook.py @@ -159,28 +159,33 @@ class PlaybookCLI(CLI): playname = '#' + str(i) msg = "\n PLAY: %s" % (playname) - if self.options.listtags: - mytags = set(play.tags) - msg += '\n tags: [%s]' % (','.join(mytags)) + mytags = set() + if self.options.listtags and play.tags: + mytags = mytags.union(set(play.tags)) + msg += '\n tags: [%s]' % (','.join(mytags)) if self.options.listhosts: playhosts = set(inventory.get_hosts(play.hosts)) - msg += "\n pattern: %s\n total hosts: %d\n hosts:" % (play.hosts, len(playhosts)) + msg += "\n pattern: %s\n total hosts: %d\n hosts:" % (play.hosts, len(playhosts)) for host in playhosts: msg += "\n %s" % host self.display.display(msg) if self.options.listtags or self.options.listtasks: - j = 1 - taskmsg = ' tasks:' - - for task in play.get_tasks(): - taskmsg += "\n %s" % task - if self.options.listtags: - pass - #taskmsg += " %s" % ','.join(mytags.union(set(task.tags))) #FIXME: find out how to get task tags - j = j + 1 + taskmsg = ' tasks:' + + for block in play.compile(): + if not block.has_tasks(): + continue + + j = 1 + for task in block.block: + taskmsg += "\n %s" % task + if self.options.listtags and task.tags: + taskmsg += "\n tags: [%s]" % ','.join(mytags.union(set(task.tags))) + j = j + 1 + self.display.display(taskmsg) i = i + 1