import os
def my_builder(target, source, env):
for i in range(0, len(source)):
txt = open(source[i].abspath).read()
txt = txt + os.linesep + "Author: " + env['AUTHOR']
open(target[i].abspath, "wb").write(txt)
env = Environment()
env['BUILDERS']['MyBuilder'] = Builder(action = my_builder)
env.MyBuilder(['output1.txt', 'output2.txt'], ['input1.txt', 'input2.txt'],
AUTHOR = "Foo")
The custom builder allows an argument to be passed in into our custom builder. How we pass the argument is by using the Python's keyword argument, e.g. AUTHOR = "Foo". The custom builder function can then read this value from the env, e.g. env["AUTHOR"].
No comments:
Post a Comment