[Zope] Lines data type possible in boolean OR's?

Alexander Limi alexander@limi.net
Wed, 26 Jul 2000 13:50:10 +0200


----- Original Message -----
From: "Martijn Pieters" <mj@digicool.com>

> On Mon, Jul 24, 2000 at 11:56:01PM +0200, Alexander Limi wrote:
> > I have a small problem. When I use the lines data type in OR statements,
I
> > get an
> >
> > Error Type: TypeError
> > Error Value: bad operand type(s) for |
> >
> > I've used them earlier on integers, like this:
> >
> > <dtml-if "cabinDouble | cabinTwin | cabinBunk | cabinPullman">
> >
> > and it works fine. When I try the same with other data types, like this:
> >
> > <dtml-if "toy | additionalToys">
> >
> > where "toy" is a "multiple select" type and "additionalToys" is a
"lines"
> > type. Can anyone provide me with some hints on what to do to get it
working
> > the way I want? Is typecasting necessary?
>
> A pipe symbol in python ('|') is a bitwise 'or', so it works on integers
yes.
> I assume you want to to a boolean 'or', wich in python is the keyword
'or':

I figured that out after a while, but the original problem remained: The
Lines type does not evaluate to FALSE in boolean expressions, even when
empty.

Empty lines are contain [''], so I have to use a string.join() to get it to
be '', which evaluates to false.

I know lines is a set of some sort, but shouldn't it evaluate to FALSE in
boolean expressions anyway? Is there a reason why it doesn't?

--
Alexander Limi
alexander@limi.net