Fix for traceback when neither name nor pkg are in the module params

This commit is contained in:
Toshio Kuratomi 2015-11-11 07:32:21 -08:00
parent b2a9111b22
commit e45ce871a7

View file

@ -252,16 +252,19 @@ class TaskExecutor:
if all(isinstance(o, string_types) for o in items): if all(isinstance(o, string_types) for o in items):
final_items = [] final_items = []
name = self._task.args.pop('name', None) or self._task.args.pop('pkg', None) name = self._task.args.pop('name', None) or self._task.args.pop('pkg', None)
for item in items: # The user is doing an upgrade or some other operation
variables['item'] = item # that doesn't take name or pkg.
if self._task.evaluate_conditional(templar, variables): if name:
if templar._contains_vars(name): for item in items:
new_item = templar.template(name, cache=False) variables['item'] = item
final_items.append(new_item) if self._task.evaluate_conditional(templar, variables):
else: if templar._contains_vars(name):
final_items.append(item) new_item = templar.template(name, cache=False)
self._task.args['name'] = final_items final_items.append(new_item)
return [final_items] else:
final_items.append(item)
self._task.args['name'] = final_items
return [final_items]
#elif: #elif:
# Right now we only optimize single entries. In the future we # Right now we only optimize single entries. In the future we
# could optimize more types: # could optimize more types: