mruffalo avatar 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,
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.