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

2009-09-12 Thread Thomas Lotze
Encolpe Degoute wrote:

> Can I add it in the trunk or does anybody want a branch ?

Do it on a branch, even if it seems trivial. At least you'll want to run
the tests on different systems before modifying the trunk, which will be
easier when you can check the changes out from a branch.

-- 
Thomas



___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


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

2009-09-12 Thread Encolpe Degoute
Thomas Lotze a écrit :
> Encolpe Degoute wrote:
> 
>> As zc.buildout is using something near string.template I patched
>> gocept.recipe.env to replace '$' by '$$' and collective.recipe.template to
>> replace '$$' by '$'.
> 
> For the record: gocept.recipe.env hasn't yet been patched; I'd rather
> discuss the issue first before applying your patch.
> 
>> 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 ?
> 
> I think it's a bug in zc.buildout if it cannot read the configuration
> storage it wrote earlier itself. A good API for dealing with configuration
> options shouldn't require client code such as recipes to care about
> encoding and decoding values in order to work around the details of
> buildout's option representation. This would be awkward and, as we can see
> with the issue at hand, would only work if all client code handled the
> encoding consistently.

I'm agree.

> I therefore propose fixing buildout so that it encodes option values when
> writing .installed.cfg just as it would decode them when reading the file.

No opposition on this ?
Can I add it in the trunk or does anybody want a branch ?

Regards
-- 
Encolpe DEGOUTE
http://encolpe.degoute.free.fr/
Logiciels libres, hockey sur glace et autres activités cérébrales

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


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

2009-09-03 Thread Thomas Lotze
Encolpe Degoute wrote:

> As zc.buildout is using something near string.template I patched
> gocept.recipe.env to replace '$' by '$$' and collective.recipe.template to
> replace '$$' by '$'.

For the record: gocept.recipe.env hasn't yet been patched; I'd rather
discuss the issue first before applying your patch.

> 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 ?

I think it's a bug in zc.buildout if it cannot read the configuration
storage it wrote earlier itself. A good API for dealing with configuration
options shouldn't require client code such as recipes to care about
encoding and decoding values in order to work around the details of
buildout's option representation. This would be awkward and, as we can see
with the issue at hand, would only work if all client code handled the
encoding consistently.

I therefore propose fixing buildout so that it encodes option values when
writing .installed.cfg just as it would decode them when reading the file.

-- 
Thomas


___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


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

2009-08-27 Thread Gary Poster
Shameless plug: try z3c.recipe.filetemplate.  
http://pypi.python.org/pypi/z3c.recipe.filetemplate 
  .  Sounds like it does what you want out of the box.

Gary

On Aug 27, 2009, at 9:14 AM, Encolpe Degoute 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.
>
> 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 ?
>
> Regards,
> -- 
> Encolpe DEGOUTE
> http://encolpe.wordpress.com/
> http://encolpe.degoute.free.fr/
> Logiciels libres, hockey sur glace et autres activités cérébrales
>
> ___
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope )

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


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

2009-08-27 Thread Jim Fulton
On Thu, Aug 27, 2009 at 9:14 AM, Encolpe Degoute 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
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


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

2009-08-27 Thread Encolpe Degoute
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.

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 ?

Regards,
-- 
Encolpe DEGOUTE
http://encolpe.wordpress.com/
http://encolpe.degoute.free.fr/
Logiciels libres, hockey sur glace et autres activités cérébrales

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )