[PATCH] sort with key and reverse keywors in Python2.4

Mario Pernici Mario.Pernici at mi.infn.it
Thu Jun 2 12:30:55 BST 2005


This patch to changeset.py uses in my_sort()  Python2.4's sort
with key and reverse keywords, falling back to Python2.3's sort
otherwise.

Mario



-------------- next part --------------
--- changeset.py	2005-05-26 04:11:57.000000000 +0200
+++ changeset1.py	2005-06-02 13:22:30.983486706 +0200
@@ -781,13 +781,17 @@
     :param reverse: If true, sort in reverse order
     :type reverse: bool
     """
-    def cmp_by_key(entry_a, entry_b):
+    try:
+        sequence.sort(key=key, reverse=reverse)
+    except TypeError:
         if reverse:
-            tmp=entry_a
-            entry_a = entry_b
-            entry_b = tmp
-        return cmp(key(entry_a), key(entry_b))
-    sequence.sort(cmp_by_key)
+            def cmp_by_key(entry_a, entry_b):
+                return cmp(key(entry_b), key(entry_a))
+        else:
+            def cmp_by_key(entry_a, entry_b):
+                return cmp(key(entry_a), key(entry_b))
+        sequence.sort(cmp_by_key)
+
 
 def get_rename_entries(changeset, inventory, reverse):
     """Return a list of entries that will be renamed.  Entries are sorted from


More information about the bazaar mailing list