bt2: remove __le__() method already provided by @total_ordering
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Wed, 26 Jun 2019 15:07:53 +0000 (11:07 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 27 Jun 2019 20:54:22 +0000 (16:54 -0400)
The `@total_ordering` decorator already provide all the rich comparison
methods because we implement the __lt__() and __eq__() methods. So there
is no need to implement any other rich comparison methods.

I chose __lt__() arbitrarily but it could have been __le__(), __gt__(),
or __ge__().

Documentation on `@total_ordering` [1]:
  The class must define one of __lt__(), __le__(), __gt__(), or
  __ge__(). In addition, the class should supply an __eq__() method.

[1]: https://docs.python.org/3/library/functools.html#functools.total_ordering

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: I4c09ae725acadc59aa17d03063136ffc0dd854c2
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1544
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/bindings/python/bt2/bt2/field.py
src/bindings/python/bt2/bt2/value.py

index 62dac5ff6cb7a54386334c723ec743d542670289..99daff5a036a675f090a39c5cbf2029b1704f900 100644 (file)
@@ -101,13 +101,6 @@ class _NumericField(_Field):
 
         return self._value < float(other)
 
-    def __le__(self, other):
-        if not isinstance(other, numbers.Number):
-            raise TypeError('unorderable types: {}() <= {}()'.format(self.__class__.__name__,
-                                                                     other.__class__.__name__))
-
-        return self._value <= float(other)
-
     def _spec_eq(self, other):
         if not isinstance(other, numbers.Number):
             return NotImplemented
@@ -382,9 +375,6 @@ class _StringField(_Field):
 
         return self._value == other
 
-    def __le__(self, other):
-        return self._value <= self._value_to_str(other)
-
     def __lt__(self, other):
         return self._value < self._value_to_str(other)
 
index d8b8332eecd87bd06942ac3a839b0a96c42b5eeb..22623c228f88e2ee21888841ba7f6c5cac465c02 100644 (file)
@@ -160,13 +160,6 @@ class _NumericValue(_Value):
 
         return self._value < float(other)
 
-    def __le__(self, other):
-        if not isinstance(other, numbers.Number):
-            raise TypeError('unorderable types: {}() <= {}()'.format(self.__class__.__name__,
-                                                                     other.__class__.__name__))
-
-        return self._value <= float(other)
-
     def _spec_eq(self, other):
         pass
 
@@ -475,9 +468,6 @@ class StringValue(collections.abc.Sequence, _Value):
         except:
             return
 
-    def __le__(self, other):
-        return self._value <= self._value_to_str(other)
-
     def __lt__(self, other):
         return self._value < self._value_to_str(other)
 
This page took 0.027045 seconds and 4 git commands to generate.