diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-09-16 03:18:44 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-16 03:18:44 -0700 |
commit | 724e9e28185d35398bbbd445eccfa7592c4f641b (patch) | |
tree | 3aba6242df1b4ad8dfa7ddf05f031042ec543ba2 /pym/_emerge | |
parent | 50b39d4bbd4b0ca8d65f22793a044119a391f36f (diff) | |
download | portage-724e9e28185d35398bbbd445eccfa7592c4f641b.tar.gz portage-724e9e28185d35398bbbd445eccfa7592c4f641b.tar.bz2 portage-724e9e28185d35398bbbd445eccfa7592c4f641b.zip |
Make UseFlagDisplay __str__ and __unicode__ methods more like
DependencyArg, and add tests.
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/UseFlagDisplay.py | 14 | ||||
-rw-r--r-- | pym/_emerge/actions.py | 8 |
2 files changed, 19 insertions, 3 deletions
diff --git a/pym/_emerge/UseFlagDisplay.py b/pym/_emerge/UseFlagDisplay.py index db2d6ca16..3721ef09e 100644 --- a/pym/_emerge/UseFlagDisplay.py +++ b/pym/_emerge/UseFlagDisplay.py @@ -1,9 +1,13 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +import sys + +from portage import _encodings, _unicode_encode from portage.output import red from portage.util import cmp_sort_key from portage.output import blue + class UseFlagDisplay(object): __slots__ = ('name', 'enabled', 'forced') @@ -24,6 +28,14 @@ class UseFlagDisplay(object): s = '(%s)' % s return s + if sys.hexversion < 0x3000000: + + __unicode__ = __str__ + + def __str__(self): + return _unicode_encode(self.__unicode__(), + encoding=_encodings['content']) + def _cmp_combined(a, b): """ Sort by name, combining enabled and disabled flags. diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 7c151b321..5c4647e61 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -1507,6 +1507,7 @@ def action_info(settings, trees, myopts, myfiles): f not in use_expand_flags: use_disabled['USE'].append(f) + flag_displays = [] for varname in var_order: if varname in use_expand_hidden: continue @@ -1519,8 +1520,11 @@ def action_info(settings, trees, myopts, myfiles): flags.sort(key=UseFlagDisplay.sort_combined) else: flags.sort(key=UseFlagDisplay.sort_separated) - print('%s="%s"' % (varname, ' '.join(str(f) for f in flags)), end=' ') - print() + # Use _unicode_decode() to force unicode format string so + # that UseFlagDisplay.__unicode__() is called in python2. + flag_displays.append('%s="%s"' % (varname, + ' '.join(_unicode_decode("%s") % (f,) for f in flags))) + writemsg_stdout('%s\n' % ' '.join(flag_displays)) if pkg_type == "installed": for myvar in mydesiredvars: if metadata[myvar].split() != settings.get(myvar, '').split(): |