Implement PortageException.__unicode__ so the string formatin operator will
authorZac Medico <zmedico@gentoo.org>
Thu, 25 Mar 2010 11:07:38 +0000 (04:07 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 25 Mar 2010 11:07:38 +0000 (04:07 -0700)
work correctly with unicode strings in python2.

pym/portage/exception.py

index 39901ed07a2b31aa340b68d417f9e95be8cbbc31..f8388e2b6056350e918e7b5e26b43eeffeea80c6 100644 (file)
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 import sys
-from portage import _unicode_encode
+from portage import _unicode_encode, _unicode_decode
 from portage.localization import _
 
 if sys.hexversion >= 0x3000000:
@@ -22,6 +22,10 @@ class PortageException(Exception):
                else:
                        return repr(self.value)
 
+       if sys.hexversion < 0x3000000:
+               def __unicode__(self):
+                       return _unicode_decode(self.__str__())
+
 class CorruptionError(PortageException):
        """Corruption indication"""