[Zope-dev] Re: TALES idea: tuple unpacking

Philipp von Weitershausen philipp@weitershausen.de
Wed, 23 Jul 2003 11:59:29 -0500


Evan Simpson wrote:
> Hmmm.  I hadn't thought of that before, but I've certainly wanted to 
> tell the path traverser whether to use attribute, index, or key access 
> on several occasions (using 'items' as a dictionary key bites me 
> regularly).

I can imagine the pain. Explicit is better than implicit.

> This suggests the following prefixes:
> 
> 'key:' -- use item access with the prefixed string.
> 'index:' -- use item access with the prefixed integer.
> 'attr:' -- use attribute access with the prefixed string.

+1

> There's an alternative, longer syntax that would be more consistent with 
> the adapter concept from Zope 3.  Given that prefixes are meant to be 
> namespaces, 'key', 'index', and 'attr' should be elements of a namespace 
> (perhaps 'by' or 'as' to keep it reasonably short) rather than prefixes 
> themselves.  In this case, we would have the path expression 
> "options/a_mapping/by:key/items/by:index/0".

*ugh*. Too long. You'd keep adding thousands of elements to your TALES 
expression...

> Note that this form has the advantage of allowing
> "a_list/by:index/?i".

Why wouldn't that be possible with "a_list/index:?i"?

Phil