from __future__ import absolute_import, division, print_function from string import Template def replace_action(target, source, env): open(str(target[0]), 'w').write(Template(open(str(source[0]), 'r').read()).safe_substitute(env)) return 0 def replace_string(target, source, env): return "building '%s' from '%s'" % (str(target[0]), str(source[0])) def generate(env, **kw): action = env.Action(replace_action, replace_string) env['BUILDERS']['ScanReplace'] = env.Builder(action=action, src_suffix='.in', single_source=True) def exists(env): return 1