Templating In Buildout

Embed Size (px)

DESCRIPTION

Templating, macro and shell commands in buildout.

Citation preview

  • 1. Templating in buildouts Cherepanyak Volodymyr Quintagroup, 2009

2. Templating in buildout

  • amplecode.recipe.template (Jinja2)
  • z3c.recipe.filetemplate(string.Template)
  • iw.recipe.template(Cheetah Templates)
  • inquant.recipe.textfile
  • collective.recipe.template
  • z3c.recipe.template

3. buildout macro zc.recipe.macro ... [buildout] ... parts = instance0 instance1 ... versions = versions ... ... [instance-macro] ... application = application ... zope.conf = ... ... ...path /var/log/myapp/$${:__name__}-z3.log ... ... ... ...port $${:monitor-port} ... 4. buildout macro ... [instance0] ... recipe = zc.recipe.macro ... result-recipe = zc.recipe.macro:test ... macro = instance-macro ... address = 8080 ... monitor-port = 8089 ... ... [instance1] ... recipe = zc.recipe.macro ... result-recipe = zc.recipe.macro:test ... macro = instance-macro ... address = 9080 ... monitor-port = 9089 5. Shell commands in buildout plone.recipe.command(os.system) [chown]recipe = plone.recipe.commandcommand = chown -R ${instance:effective-user}:${instance:effective-user} ${buildout:directory}update-command = ${chown:command} 6. Shell commands in buildout

  • iw.recipe.cmd
  • adds python scripting
  • cp.recipe.cmd
  • pushes shell commands into single script

7. References google ;) http://pypi.python.org http://svn.zope.org http://dev.plone.org/collective/browser/buildout https://ingeniweb.svn.sourceforge.net/svnroot/ingeniweb