Sequence can now be compared with a single item.
authorFrederic Jolliton <frederic@jolliton.com>
Sat, 10 Sep 2005 23:40:22 +0000 (23:40 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Sat, 10 Sep 2005 23:40:22 +0000 (23:40 +0000)
 * Update Sequence's __eq__ operator to allow comparison with a single
   item (in which case, True is returned if Sequence is of length 1 and
   its only item is equal to the specified item.)
git-archimport-id: frederic@jolliton.com--2005-main/tx--main--0.1--patch-16

sequence.py

index 6fc7c2c..0b9ce13 100644 (file)
@@ -98,7 +98,10 @@ class Sequence( tuple ) :
 
        def __eq__( self , other ) :
 
-               return self.type == other.type and tuple.__eq__( self , other )
+               if not isinstance( other , Sequence ) :
+                       return len( self ) == 1 and self[ 0 ] == other
+               else :
+                       return self.type == other.type and tuple.__eq__( self , other )
 
        def __add__( self , other , type = None ) :