]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Silence -3 warnings in pstats: a dict.has_key() usage and backport solution to
authorBrett Cannon <bcannon@gmail.com>
Sun, 3 Aug 2008 22:52:42 +0000 (22:52 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sun, 3 Aug 2008 22:52:42 +0000 (22:52 +0000)
move from list.sort(cmp=) to key=.

Lib/pstats.py

index adaac5cee105d39e564bdc9f0bcaa7692b081c74..a6844fbe9444637320fba3b55a9b4a3cf9f39388 100644 (file)
@@ -140,7 +140,7 @@ class Stats:
             self.total_calls += nc
             self.prim_calls  += cc
             self.total_tt    += tt
-            if callers.has_key(("jprofile", 0, "profiler")):
+            if ("jprofile", 0, "profiler") in callers:
                 self.top_level[func] = None
             if len(func_std_string(func)) > self.max_name_len:
                 self.max_name_len = len(func_std_string(func))
@@ -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:
@@ -471,6 +471,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)