summaryrefslogtreecommitdiffstats
path: root/Lib/pstats.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pstats.py')
-rw-r--r--Lib/pstats.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/Lib/pstats.py b/Lib/pstats.py
index 39f1b64..3e6e994 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -238,7 +238,7 @@ class Stats:
stats_list.append((cc, nc, tt, ct) + func +
(func_std_string(func), func))
- stats_list.sort(TupleComp(sort_tuple).compare)
+ stats_list.sort(key=CmpToKey(TupleComp(sort_tuple).compare))
self.fcn_list = fcn_list = []
for tuple in stats_list:
@@ -470,6 +470,16 @@ class TupleComp:
return direction
return 0
+def CmpToKey(mycmp):
+ 'Convert a cmp= function into a key= function'
+ class K(object):
+ def __init__(self, obj):
+ self.obj = obj
+ def __lt__(self, other):
+ return mycmp(self.obj, other.obj) == -1
+ return K
+
+
#**************************************************************************
# func_name is a triple (file:string, line:int, name:string)