[Zope] dtml-in sort by generic function
Dieter Maurer
dieter@handshake.de
Tue, 27 Mar 2001 23:13:12 +0200 (CEST)
Oleg Broytmann writes:
> On Wed, 14 Mar 2001, Dieter Maurer wrote:
> > I am not yet clear about a good syntax. It
> > should be something, that pairs the attribute with the sorting
> > function essential for this attribute: something like:
> >
> > sort="attr1[cmp1],attr2,attr3[cmp3],...."
> >
> > This should mean, use "cmp1" for "attr1", the default comparison
> > for "attr2" (i.e. cmp) and "cmp3" for "attr3" (and so on).
>
> > Each "cmp" is looked up in the namespace and if not found there,
> > in a standard set of comparison function, such that it is
> > easy to get "locale_asc", "locale_desc", "case_insensitive_asc", ....
>
> As I already said, this looks good... but I don't want to have a
> predefined set of names.
Sad, because it would be difficult for non-Python programmers
to define these functions.
What I suggest is an approach similar to the custom formats:
there is a predefined set of well known and often
used sort function (such as "locale", "case_insensitive", ...)
*BUT* a user can use a function of his own, too,
if he likes.
> I want these "locale_asc"/"locale_desc" to be the
> real functions. And I don't want to have 2 almost identical functions
> (asc/desc) for every comparison function. So I am thinking about syntax
> like this:
>
> sort="attr1/cmp1,attr2,attr3/cmp3/desc,...."
To separate the direction is a good idea. I like it.
I am not so sure about the '/' separators.
I expect, we will soon get "/" separated object access paths.
Then, the use of "/" for a completely different purpose may
be confusing. Not sure, that my "[...]" is better in this respect...
Dieter