[Zope-Checkins] Re: [Checkins] SVN: Products.Five/trunk/ Now you can use the old registry with the new API for registerig components.

Benji York benji at zope.com
Fri Jul 28 18:39:51 EDT 2006


Florent Guillaume wrote:
> On 27 Jul 2006, at 16:15, Lennart Regebro wrote:
> 
>>Modified: Products.Five/trunk/site/localsite.py
>>===================================================================
>>--- Products.Five/trunk/site/localsite.py	2006-07-27 13:51:25 UTC  
>>(rev 69270)
>>+++ Products.Five/trunk/site/localsite.py	2006-07-27 14:15:46 UTC  
>>(rev 69271)
>>@@ -16,12 +16,26 @@
>> $Id$
>> """
>>
>>+from operator import xor
>>+def one_of_three(a, b, c):
>>+    # Logical table for a three part test where only one can be true:
>>+    # 0 0 0: 0
>>+    # 0 0 1: 1
>>+    # 0 1 0: 1
>>+    # 0 1 1: 0
>>+    # 1 0 0: 1
>>+    # 1 0 1: 0
>>+    # 1 1 0: 0
>>+    # 1 1 1: 0
>>+    return xor(xor(a, b), c) and not (a and b and c)
> 
> 
> Heh, boolean algebra is nice but sometimes integers convey the  
> meaning much better:
>    return int(a)+int(b)+int(c) == 1

Hey, this is fun!  How about this:

def only_one(*args):
     return sum(bool(i) for i in args) == 1
-- 
Benji York
Senior Software Engineer
Zope Corporation


More information about the Zope-Checkins mailing list