[Zope-dev] zc.buildout, substitution and templating

Jim Fulton jim at zope.com
Thu Aug 27 09:40:21 EDT 2009


On Thu, Aug 27, 2009 at 9:14 AM, Encolpe Degoute<encolpe.degoute at free.fr> wrote:
> Hello,
>
> These last days I was using collective.recipe.template and
> gocept.recipe.env.
>
> The second one just update options with os.environ.
> Unix shell having their own substitution methods then '${' appearing in
> the .installed.cfg. It just blows if you try to rerun 'bin/buildout.

What error did you get?

> As zc.buildout is using something near string.template I patched
> gocept.recipe.env to replace '$' by '$$' and collective.recipe.template
> to replace '$$' by '$'.
> As _sub method in builout just split text around '$$' and join it again
> with '$$' we need to make the replacement with the result of this method.
>
> Is it the good way to deal with escaping data ?
> Or is this a bug of zc.buildout ?

That's a good question.  Buildout substitutions are always of the form
${section:option}, so conceivably buildout could ignore substitutions
without a colon.  I suspect it would be better to always require
escaping and make sure buildout provides a documented way to do so.
OTOH, I can see the convenience of not requiring escaping variable
substitutions wo colons.

Jim

-- 
Jim Fulton


More information about the Zope-Dev mailing list