Add UseFlagDisplay.sort_combined and sort_separated attributes that can be
authorZac Medico <zmedico@gentoo.org>
Wed, 8 Apr 2009 20:34:50 +0000 (20:34 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 8 Apr 2009 20:34:50 +0000 (20:34 -0000)
passed directly as key parameters to list.sort().

svn path=/main/trunk/; revision=13303

pym/_emerge/__init__.py

index 11ad3fae120cb7e67cd8a5242d7ba0712d27b920..5c7f62d3c9bae51542517cafc37d83c992633dac 100644 (file)
@@ -9252,15 +9252,16 @@ class UseFlagDisplay(object):
                        s = '(%s)' % s
                return s
 
-       @classmethod
-       def cmp_combined(cls, a, b):
+       def _cmp_combined(a, b):
                """
                Sort by name, combining enabled and disabled flags.
                """
                return (a.name > b.name) - (a.name < b.name)
 
-       @classmethod
-       def cmp_separated(cls, a, b):
+       sort_combined = cmp_sort_key(_cmp_combined)
+       del _cmp_combined
+
+       def _cmp_separated(a, b):
                """
                Sort by name, separating enabled flags from disabled flags.
                """
@@ -9269,6 +9270,9 @@ class UseFlagDisplay(object):
                        return enabled_diff
                return (a.name > b.name) - (a.name < b.name)
 
+       sort_separated = cmp_sort_key(_cmp_separated)
+       del _cmp_separated
+
 class PollSelectAdapter(PollConstants):
 
        """
@@ -13687,9 +13691,9 @@ def action_info(settings, trees, myopts, myfiles):
                                for f in use_disabled.get(varname, []):
                                        flags.append(UseFlagDisplay(f, False, f in forced_flags))
                                if alphabetical_use:
-                                       flags.sort(key=cmp_sort_key(UseFlagDisplay.cmp_combined))
+                                       flags.sort(key=UseFlagDisplay.sort_combined)
                                else:
-                                       flags.sort(key=cmp_sort_key(UseFlagDisplay.cmp_separated))
+                                       flags.sort(key=UseFlagDisplay.sort_separated)
                                print '%s="%s"' % (varname, ' '.join(str(f) for f in flags)),
                        print