diff options
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage/elog/mod_syslog.py | 2 | ||||
-rw-r--r-- | pym/portage/util/__init__.py | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/pym/portage/elog/mod_syslog.py b/pym/portage/elog/mod_syslog.py index 79b11a68c..64558410d 100644 --- a/pym/portage/elog/mod_syslog.py +++ b/pym/portage/elog/mod_syslog.py @@ -23,7 +23,7 @@ def process(mysettings, key, logentries, fulltext): for msgtype,msgcontent in logentries[phase]: for line in msgcontent: line = "%s: %s: %s" % (key, phase, line) - if sys.hexversion < 0x3000000 and isinstance(line, unicode): + if sys.hexversion < 0x3000000 and not isinstance(line, bytes): # Avoid TypeError from syslog.syslog() line = line.encode(_encodings['content'], 'backslashreplace') 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 |