mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
rearranged --list- options, now they are consolidated when used toghether, less loops, more concise output
list-hosts works list-tasks works, but needs better task naming (missing role info) list-tags only shows play tags
This commit is contained in:
parent
b8336f222d
commit
056602c424
2 changed files with 36 additions and 34 deletions
|
@ -151,19 +151,43 @@ class PlaybookCLI(CLI):
|
|||
for p in results:
|
||||
|
||||
self.display.display('\nplaybook: %s\n' % p['playbook'])
|
||||
i = 1
|
||||
for play in p['plays']:
|
||||
if play.name:
|
||||
playname = play.name
|
||||
else:
|
||||
playname = '#' + str(i)
|
||||
|
||||
msg = "\n PLAY: %s" % (playname)
|
||||
if self.options.listtags:
|
||||
mytags = set(play.tags)
|
||||
msg += '\n total tags: %d' % (len(mytags))
|
||||
msg += '\n tags: [%s]' % (','.join(mytags))
|
||||
|
||||
if self.options.listhosts:
|
||||
self.display.display("\n %s (%s): host count=%d" % (play['name'], play['pattern'], len(play['hosts'])))
|
||||
for host in play['hosts']:
|
||||
self.display.display(" %s" % host)
|
||||
if self.options.listtasks: #TODO: do we want to display block info?
|
||||
self.display.display("\n %s" % (play['name']))
|
||||
for task in play['tasks']:
|
||||
self.display.display(" %s" % task)
|
||||
if self.options.listtags: #TODO: fix once we figure out block handling above
|
||||
self.display.display("\n %s: tags count=%d" % (play['name'], len(play['tags'])))
|
||||
for tag in play['tags']:
|
||||
self.display.display(" %s" % tag)
|
||||
playhosts = set(inventory.get_hosts(play.hosts))
|
||||
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
|
||||
#for task in play.get_tasks():
|
||||
# mytags.union(set(task.tags))
|
||||
#self.display.display(" %s" % ','.join(mytags))
|
||||
|
||||
j = j + 1
|
||||
self.display.display(taskmsg)
|
||||
|
||||
i = i + 1
|
||||
return 0
|
||||
else:
|
||||
return results
|
||||
|
|
|
@ -121,29 +121,7 @@ class PlaybookExecutor:
|
|||
|
||||
if self._tqm is None:
|
||||
# we are just doing a listing
|
||||
|
||||
pname = new_play.get_name().strip()
|
||||
if pname == 'PLAY: <no name specified>':
|
||||
pname = 'PLAY: #%d' % i
|
||||
p = { 'name': pname }
|
||||
|
||||
if self._options.listhosts:
|
||||
p['pattern']=play.hosts
|
||||
p['hosts']=set(self._inventory.get_hosts(new_play.hosts))
|
||||
|
||||
#TODO: play tasks are really blocks, need to figure out how to get task objects from them
|
||||
elif self._options.listtasks:
|
||||
p['tasks'] = []
|
||||
for task in play.get_tasks():
|
||||
p['tasks'].append(task)
|
||||
#p['tasks'].append({'name': task.get_name().strip(), 'tags': task.tags})
|
||||
|
||||
elif self._options.listtags:
|
||||
p['tags'] = set(new_play.tags)
|
||||
for task in play.get_tasks():
|
||||
p['tags'].update(task)
|
||||
#p['tags'].update(task.tags)
|
||||
entry['plays'].append(p)
|
||||
entry['plays'].append(new_play)
|
||||
|
||||
else:
|
||||
# make sure the tqm has callbacks loaded
|
||||
|
|
Loading…
Reference in a new issue