localization: always return unicode
authorZac Medico <zmedico@gentoo.org>
Fri, 18 Jan 2013 19:10:56 +0000 (11:10 -0800)
committerZac Medico <zmedico@gentoo.org>
Fri, 18 Jan 2013 19:10:56 +0000 (11:10 -0800)
pym/portage/localization.py

index d16c4b131dd2ef909ed00faee7f4ab2e31d1c722..2815ef5a8167b296387f7bc685edc7ec21f610fa 100644 (file)
@@ -1,12 +1,18 @@
 # localization.py -- Code to manage/help portage localization.
-# Copyright 2004 Gentoo Foundation
+# Copyright 2004-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
+from portage import _unicode_decode
 
 # We define this to make the transition easier for us.
 def _(mystr):
-       return mystr
-
+       """
+       Always returns unicode, regardless of the input type. This is
+       helpful for avoiding UnicodeDecodeError from __str__() with
+       Python 2, by ensuring that string format operations invoke
+       __unicode__() instead of __str__().
+       """
+       return _unicode_decode(mystr)
 
 def localization_example():
        # Dict references allow translators to rearrange word order.