Commits

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.

Comments (0)

Files changed (1)

lib/bx_extras/lrucache.py

 
 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,