summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-10-28 17:12:11 -0700
committerZac Medico <zmedico@gentoo.org>2011-10-28 17:12:11 -0700
commita828ef4cb5ee60e448a95bb746a55fb476b1c575 (patch)
treed9832e8bfae8c266da28d72e665f5d3c165e52f3
parent967bc855b7e4db529afbe8b7bf7f8ed7ea55858a (diff)
downloadportage-a828ef4cb5ee60e448a95bb746a55fb476b1c575.tar.gz
portage-a828ef4cb5ee60e448a95bb746a55fb476b1c575.tar.bz2
portage-a828ef4cb5ee60e448a95bb746a55fb476b1c575.zip
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.
-rwxr-xr-xbin/repoman2
-rwxr-xr-xbin/xpak-helper.py4
-rw-r--r--pym/portage/elog/mod_syslog.py2
-rw-r--r--pym/portage/util/__init__.py11
4 files changed, 10 insertions, 9 deletions
diff --git a/bin/repoman b/bin/repoman
index 2099241d9..42a615420 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -156,7 +156,7 @@ def ParseArgs(argv, qahelp):
(opts, args), just like a call to parser.parse_args()
"""
- if argv and sys.hexversion < 0x3000000 and not isinstance(argv[0], unicode):
+ if argv and isinstance(argv[0], bytes):
argv = [portage._unicode_decode(x) for x in argv]
modes = {
diff --git a/bin/xpak-helper.py b/bin/xpak-helper.py
index 4766d990d..ef74920db 100755
--- a/bin/xpak-helper.py
+++ b/bin/xpak-helper.py
@@ -1,5 +1,5 @@
#!/usr/bin/python
-# Copyright 2009 Gentoo Foundation
+# Copyright 2009-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
import optparse
@@ -36,7 +36,7 @@ def command_recompose(args):
def main(argv):
- if argv and sys.hexversion < 0x3000000 and not isinstance(argv[0], unicode):
+ if argv and isinstance(argv[0], bytes):
for i, x in enumerate(argv):
argv[i] = portage._unicode_decode(x, errors='strict')
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