Skip to main content

ZC buildout recipe to build template based file

Project description

What is iw.recipe.template ?

iw.recipe.template is a zc.buildout recipe to build template based file/scripts

It also provide some recipe to build Zope2, Zope3 and Squid vhosts config file for apache.

How to use iw.recipe.template ?

We need a buildout config file:

>>> server = start_server(test_dir)

>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
... parts = template.txt
...
... [template.txt]
... recipe = iw.recipe.template
... source = %s/template.txt_impl
... destination = %s/
... """ % (sample_buildout, sample_buildout))

And a template:

>>> template = join(sample_buildout, 'template.txt_impl')
>>> open(template, 'w').write('''My template is named "$name"''')

Then, the recipe should work:

>>> print system(buildout)
Installing template.txt.
template.txt: Generated file 'template.txt'.

Here is the result:

>>> print open(join(sample_buildout, 'template.txt')).read()
My template is named "template.txt"

Now we can generate an executable:

>>> write(sample_buildout, 'buildout.cfg',
... """
... [buildout]
... parts = script
...
... [script]
... recipe = iw.recipe.template:script
... source = %s/template.py_impl
... destination = %s/
... """ % (sample_buildout, sample_buildout))

We need a small template with a python script:

>>> template = join(sample_buildout, 'template.py_impl')
>>> open(template, 'w').write('''
... import sys
... print 'this is the script named "$name"'
... ''')

Run buildout again:

>>> print system(buildout)
Uninstalling template.txt.
Installing script.
script: Generated script 'script'.

Here is the result:

>>> print open(join(sample_buildout, 'script')).read()
#!/.../bin/python
<BLANKLINE>
import sys
print 'this is the script named "script"'
<BLANKLINE>

>>> print system(join(sample_buildout, 'script'))
this is the script named "script"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iw.recipe.template-0.2.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

iw.recipe.template-0.2-py2.4.egg (12.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page