summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index b28a091cf..79b0508c5 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -123,8 +123,13 @@ def _unicode_encode(s):
return s
def _unicode_decode(s):
- if not isinstance(s, unicode) and isinstance(s, basestring):
- s = unicode(s, encoding='utf_8', errors='replace')
+ if not isinstance(s, unicode):
+ if sys.hexversion < 0x3000000:
+ if isinstance(s, basestring):
+ s = unicode(s, encoding='utf_8', errors='replace')
+ else:
+ if isinstance(s, bytes):
+ s = unicode(s, encoding='utf_8', errors='replace')
return s
class _unicode_func_wrapper(object):