diff options
-rw-r--r-- | pym/portage/__init__.py | 9 |
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): |