1. James Taylor
  2. bx-python


mruffalo  committed 64703b2

lrucache.py: remove functools.total_ordering call

This isn't present in Python 2.4, so replace it with a manual total ordering
by implementing the rest of the __comparison__ methods.

  • Participants
  • Parent commits 3e060cb
  • Branches default

Comments (0)

Files changed (1)

File lib/bx_extras/lrucache.py

View file
 import time
 from heapq import heappush, heappop, heapify
-from functools import total_ordering
 __version__ = "0.2"
 __all__ = ['CacheKeyError', 'LRUCache', 'DEFAULT_SIZE']
         print j, cache[j] # iterator produces keys, not values
-    @total_ordering
     class __Node(object):
         """Record of a cached value. Not for public consumption."""
         def __eq__(self, other):
             return self.atime == other.atime
+        def __le__(self, other):
+            return self.__lt__(other) or self.__eq__(other)
+        def __gt__(self, other):
+            return not (self.__lt__(other) or self.__eq__(other))
+        def __ge__(self, other):
+            return not self.__lt__(other)
+        def __ne__(self, other):
+            return not self.__eq__(other)
         def __repr__(self):
             return "<%s %s => %s (%s)>" % \
                    (self.__class__, self.key, self.obj,