Move templating into a utils function. Reuse is our friend.
This commit is contained in:
parent
c1fe0dd719
commit
af9596307d
3 changed files with 17 additions and 11 deletions
|
@ -24,7 +24,6 @@ from ansible import errors
|
|||
import yaml
|
||||
import shlex
|
||||
import os
|
||||
import jinja2
|
||||
import time
|
||||
|
||||
# used to transfer variables to Runner
|
||||
|
@ -111,19 +110,15 @@ class PlayBook(object):
|
|||
if x.find("=") != -1:
|
||||
(k,v) = x.split("=")
|
||||
inject_vars[k] = v
|
||||
included = file(path).read()
|
||||
template = jinja2.Template(included)
|
||||
included = template.render(inject_vars)
|
||||
included = utils.template_from_file(path, inject_vars)
|
||||
included = yaml.load(included)
|
||||
for x in included:
|
||||
new_tasks.append(x)
|
||||
|
||||
def _include_handlers(self, play, handler, dirname, new_handlers):
|
||||
path = utils.path_dwim(dirname, handler['include'])
|
||||
included = file(path).read()
|
||||
inject_vars = self._get_vars(play, dirname)
|
||||
template = jinja2.Template(included)
|
||||
included = template.render(inject_vars)
|
||||
included = utils.template_from_file(path, inject_vars)
|
||||
included = yaml.load(included)
|
||||
for x in included:
|
||||
new_handlers.append(x)
|
||||
|
|
|
@ -24,7 +24,6 @@ import signal
|
|||
import os
|
||||
import Queue
|
||||
import random
|
||||
import jinja2
|
||||
import traceback
|
||||
import tempfile
|
||||
import subprocess
|
||||
|
@ -326,8 +325,7 @@ class Runner(object):
|
|||
else:
|
||||
args = "%s metadata=~/.ansible/setup" % args
|
||||
|
||||
template = jinja2.Template(args)
|
||||
args = template.render(inject_vars)
|
||||
args = utils.template(args, inject_vars)
|
||||
|
||||
argsfile = self._transfer_argsfile(conn, tmp, args)
|
||||
if async_jid is None:
|
||||
|
|
|
@ -20,13 +20,15 @@
|
|||
import sys
|
||||
import os
|
||||
import shlex
|
||||
from ansible import errors
|
||||
import jinja2
|
||||
|
||||
try:
|
||||
import json
|
||||
except ImportError:
|
||||
import simplejson as json
|
||||
|
||||
from ansible import errors
|
||||
|
||||
###############################################################
|
||||
# UTILITY FUNCTIONS FOR COMMAND LINE TOOLS
|
||||
###############################################################
|
||||
|
@ -222,4 +224,15 @@ def parse_json(data):
|
|||
return { "failed" : True, "parsed" : False, "msg" : data }
|
||||
return results
|
||||
|
||||
def template(text, vars):
|
||||
''' run a text buffer through the templating engine '''
|
||||
template = jinja2.Template(text)
|
||||
return template.render(vars)
|
||||
|
||||
def template_from_file(path, vars):
|
||||
''' run a file through the templating engine '''
|
||||
data = file(path).read()
|
||||
return template(data, vars)
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue