Add UseFlagDisplay.sort_combined and sort_separated attributes that can be
authorZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:01:14 +0000 (07:01 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 30 Apr 2009 07:01:14 +0000 (07:01 -0000)
passed directly as key parameters to list.sort(). (trunk r13303)

svn path=/main/branches/2.1.6/; revision=13474

pym/_emerge/__init__.py

index 85dbe564487ea31334505b53d39ff0cb51f7d9f8..c92078dc077343ce0a4d48ff6c9e1a7b8c660159 100644 (file)
@@ -9236,15 +9236,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.
                """
@@ -9253,6 +9254,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):
 
        """
@@ -13511,9 +13515,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