Use the true Python 2.7 stdlib implementation instead.

main
Vincent Driessen 13 years ago
parent 4885458dde
commit 25d3f94c9f

@ -16,17 +16,17 @@ else:
def total_ordering(cls): # noqa def total_ordering(cls): # noqa
"""Class decorator that fills in missing ordering methods""" """Class decorator that fills in missing ordering methods"""
convert = { convert = {
'__lt__': [('__gt__', lambda self, other: not (self < other or self == other)), # noqa '__lt__': [('__gt__', lambda self, other: other < self),
('__le__', lambda self, other: self < other or self == other), # noqa ('__le__', lambda self, other: not other < self),
('__ge__', lambda self, other: not self < other)], ('__ge__', lambda self, other: not self < other)],
'__le__': [('__ge__', lambda self, other: not self <= other or self == other), # noqa '__le__': [('__ge__', lambda self, other: other <= self),
('__lt__', lambda self, other: self <= other and not self == other), # noqa ('__lt__', lambda self, other: not other <= self),
('__gt__', lambda self, other: not self <= other)], ('__gt__', lambda self, other: not self <= other)],
'__gt__': [('__lt__', lambda self, other: not (self > other or self == other)), # noqa '__gt__': [('__lt__', lambda self, other: other > self),
('__ge__', lambda self, other: self > other or self == other), # noqa ('__ge__', lambda self, other: not other > self),
('__le__', lambda self, other: not self > other)], ('__le__', lambda self, other: not self > other)],
'__ge__': [('__le__', lambda self, other: (not self >= other) or self == other), # noqa '__ge__': [('__le__', lambda self, other: other >= self),
('__gt__', lambda self, other: self >= other and not self == other), # noqa ('__gt__', lambda self, other: not other >= self),
('__lt__', lambda self, other: not self >= other)] ('__lt__', lambda self, other: not self >= other)]
} }
roots = set(dir(cls)) & set(convert) roots = set(dir(cls)) & set(convert)

Loading…
Cancel
Save