aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/snakeoil/compatibility.py')
-rw-r--r--src/snakeoil/compatibility.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/snakeoil/compatibility.py b/src/snakeoil/compatibility.py
index c9a8a54..4fee417 100644
--- a/src/snakeoil/compatibility.py
+++ b/src/snakeoil/compatibility.py
@@ -8,12 +8,15 @@ __all__ = ("cmp", "sorted_cmp", "sort_cmp")
def sorted_key_from_cmp(cmp_func, key_func=None):
class _key_proxy:
- __slots__ = ('_obj',)
+ __slots__ = ("_obj",)
+
+ if key_func: # done this way for speed reasons.
- if key_func: # done this way for speed reasons.
def __init__(self, obj, key_convert=key_func):
self._obj = key_convert(obj)
+
else:
+
def __init__(self, obj):
self._obj = obj
@@ -40,13 +43,13 @@ def cmp(obj1, obj2, raw_cmp=_raw_cmp):
def sorted_cmp(sequence, func, key=None, reverse=False):
- return sorted(sequence, reverse=reverse,
- key=sorted_key_from_cmp(func, key_func=key))
+ return sorted(
+ sequence, reverse=reverse, key=sorted_key_from_cmp(func, key_func=key)
+ )
def sort_cmp(list_inst, func, key=None, reverse=False):
- list_inst.sort(reverse=reverse,
- key=sorted_key_from_cmp(func, key_func=key))
+ list_inst.sort(reverse=reverse, key=sorted_key_from_cmp(func, key_func=key))
IGNORED_EXCEPTIONS = (RuntimeError, MemoryError, SystemExit, KeyboardInterrupt)