Template handlers late

This allows overriding variables in name, and removes templating from
parsing.
This commit is contained in:
Daniel Hokka Zakrisson 2012-11-23 00:31:38 +01:00
commit 1e0295c7e2
2 changed files with 4 additions and 7 deletions

View file

@ -308,13 +308,13 @@ class PlayBook(object):
for host, results in results.get('contacted',{}).iteritems():
if results.get('changed', False):
for handler_name in task.notify:
self._flag_handler(play.handlers(), utils.template(play.basedir, handler_name, task.module_vars), host)
self._flag_handler(play, utils.template(play.basedir, handler_name, task.module_vars), host)
return hosts_remaining
# *****************************************************
def _flag_handler(self, handlers, handler_name, host):
def _flag_handler(self, play, handler_name, host):
'''
if a task has any notify elements, flag handlers for run
at end of execution cycle for hosts that have indicated
@ -322,8 +322,8 @@ class PlayBook(object):
'''
found = False
for x in handlers:
if handler_name == x.name:
for x in play.handlers():
if handler_name == utils.template(play.basedir, x.name, x.module_vars):
found = True
self.callbacks.on_notify(host, x.name)
x.notified_by.append(host)