Fix rich comparison doctest prompts and add comparisons to None.
authorW. Trevor King <wking@drexel.edu>
Thu, 15 Mar 2012 01:46:00 +0000 (21:46 -0400)
committerW. Trevor King <wking@drexel.edu>
Thu, 15 Mar 2012 01:46:05 +0000 (21:46 -0400)
The None comparison logic avoids:

  TypeError: long() argument must be a string or a number, not 'NoneType'

pycomedi/constant.pyx

index e227f473ec5bbd476edbd83059e80c3d120797b7..1fed075e8e6cbd5dda0f2c5e98e78ba434bd7b9b 100644 (file)
@@ -88,10 +88,12 @@ False
 True
 >>> TRIG_SRC.now != TRIG_SRC.now
 False
-<<< TRIG_SRC.now <= 2
+>>> TRIG_SRC.now <= 2
 True
-<<< TRIG_SRC.now < 3
+>>> TRIG_SRC.now < 3
 False
+>>> TRIG_SRC.now > None
+True
 
 .. [#ops] See `emulating numeric types`_ and `NotImplementedError` in
    `the standard type hierarchy`_.
@@ -171,6 +173,8 @@ cdef class BitwiseOperator (object):
         return BitwiseOperator(int(long.__or__(s, o)))
 
     def __richcmp__(self, other, op):
+        if other is None:
+            other = self.value - 1
         s,o = BitwiseOperator._prepare_self_other(self, other)
         if op == 0:
             return s < o