From a828ef4cb5ee60e448a95bb746a55fb476b1c575 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 28 Oct 2011 17:12:11 -0700 Subject: Use bytes instead of unicode with isinstance. This is preferred since the bytes type is available in all supported python versions, while the unicode type is only available in python2. --- pym/portage/util/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'pym/portage/util/__init__.py') diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py index 20eecd65a..54e683985 100644 --- a/pym/portage/util/__init__.py +++ b/pym/portage/util/__init__.py @@ -503,14 +503,15 @@ def writedict(mydict,myfilename,writekey=True): def shlex_split(s): """ - This is equivalent to shlex.split but it temporarily encodes unicode - strings to bytes since shlex.split() doesn't handle unicode strings. + This is equivalent to shlex.split, but if the current interpreter is + python2, it temporarily encodes unicode strings to bytes since python2's + shlex.split() doesn't handle unicode strings. """ - is_unicode = sys.hexversion < 0x3000000 and isinstance(s, unicode) - if is_unicode: + convert_to_bytes = sys.hexversion < 0x3000000 and not isinstance(s, bytes) + if convert_to_bytes: s = _unicode_encode(s) rval = shlex.split(s) - if is_unicode: + if convert_to_bytes: rval = [_unicode_decode(x) for x in rval] return rval -- cgit v1.2.3-1-g7c22