summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/distutils/ccompiler.py12
-rw-r--r--Lib/distutils/cmd.py9
-rw-r--r--Lib/distutils/command/build_clib.py4
-rw-r--r--Lib/distutils/command/build_ext.py10
-rw-r--r--Lib/distutils/command/build_py.py2
-rw-r--r--Lib/distutils/command/config.py8
-rw-r--r--Lib/distutils/command/install.py2
-rw-r--r--Lib/distutils/command/install_data.py3
-rw-r--r--Lib/distutils/dir_util.py2
-rw-r--r--Lib/distutils/dist.py6
-rw-r--r--Lib/distutils/extension.py4
-rw-r--r--Lib/distutils/fancy_getopt.py4
-rw-r--r--Lib/distutils/filelist.py2
-rw-r--r--Lib/distutils/unixccompiler.py4
-rw-r--r--Lib/locale.py2
-rw-r--r--Lib/os.py8
-rw-r--r--Lib/sre_compile.py12
-rw-r--r--Lib/test/test_builtin.py18
18 files changed, 50 insertions, 62 deletions
diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py
index 25d90c8..50905c1 100644
--- a/Lib/distutils/ccompiler.py
+++ b/Lib/distutils/ccompiler.py
@@ -168,7 +168,7 @@ class CCompiler:
# set_executables ()
def set_executable(self, key, value):
- if type(value) is StringType:
+ if isinstance(value, basestring):
setattr(self, key, split_quoted(value))
else:
setattr(self, key, value)
@@ -193,8 +193,8 @@ class CCompiler:
if not (type (defn) is TupleType and
(len (defn) == 1 or
(len (defn) == 2 and
- (type (defn[1]) is StringType or defn[1] is None))) and
- type (defn[0]) is StringType):
+ (isinstance (defn[1], basestring) or defn[1] is None))) and
+ isinstance (defn[0], basestring)):
raise TypeError, \
("invalid macro definition '%s': " % defn) + \
"must be tuple (string,), (string, string), or " + \
@@ -344,7 +344,7 @@ class CCompiler:
"""
if outdir is None:
outdir = self.output_dir
- elif type(outdir) is not StringType:
+ elif not isinstance(outdir, basestring):
raise TypeError, "'output_dir' must be a string or None"
if macros is None:
@@ -442,7 +442,7 @@ class CCompiler:
"""
if output_dir is None:
output_dir = self.output_dir
- elif type (output_dir) is not StringType:
+ elif not isinstance(output_dir, basestring):
raise TypeError, "'output_dir' must be a string or None"
if macros is None:
@@ -527,7 +527,7 @@ class CCompiler:
if output_dir is None:
output_dir = self.output_dir
- elif type (output_dir) is not StringType:
+ elif not isinstance(output_dir, basestring):
raise TypeError, "'output_dir' must be a string or None"
return (objects, output_dir)
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index ebd9931..ea3799a 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -222,7 +222,7 @@ class Command:
if val is None:
setattr(self, option, default)
return default
- elif type(val) is not StringType:
+ elif not isinstance(val, basestring):
raise DistutilsOptionError, \
"'%s' must be a %s (got `%s`)" % (option, what, val)
return val
@@ -242,12 +242,11 @@ class Command:
val = getattr(self, option)
if val is None:
return
- elif type(val) is StringType:
+ elif isinstance(val, basestring):
setattr(self, option, re.split(r',\s*|\s+', val))
else:
if type(val) is ListType:
- types = map(type, val)
- ok = (types == [StringType] * len(val))
+ ok = all(isinstance(v, basestring) for v in val)
else:
ok = 0
@@ -421,7 +420,7 @@ class Command:
# Allow 'infiles' to be a single string
- if type(infiles) is StringType:
+ if isinstance(infiles, basestring):
infiles = (infiles,)
elif type(infiles) not in (ListType, TupleType):
raise TypeError, \
diff --git a/Lib/distutils/command/build_clib.py b/Lib/distutils/command/build_clib.py
index 07f5817..5434e86 100644
--- a/Lib/distutils/command/build_clib.py
+++ b/Lib/distutils/command/build_clib.py
@@ -92,7 +92,7 @@ class build_clib (Command):
if self.include_dirs is None:
self.include_dirs = self.distribution.include_dirs or []
- if type(self.include_dirs) is StringType:
+ if isinstance(self.include_dirs, basestring):
self.include_dirs = self.include_dirs.split(os.pathsep)
# XXX same as for build_ext -- what about 'self.define' and
@@ -147,7 +147,7 @@ class build_clib (Command):
raise DistutilsSetupError, \
"each element of 'libraries' must a 2-tuple"
- if type(lib[0]) is not StringType:
+ if isinstance(lib[0], basestring) StringType:
raise DistutilsSetupError, \
"first element of each tuple in 'libraries' " + \
"must be a string (the library name)"
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index 2832d57..0236a26 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -137,7 +137,7 @@ class build_ext (Command):
plat_py_include = sysconfig.get_python_inc(plat_specific=1)
if self.include_dirs is None:
self.include_dirs = self.distribution.include_dirs or []
- if type(self.include_dirs) is StringType:
+ if isinstance(self.include_dirs, basestring):
self.include_dirs = self.include_dirs.split(os.pathsep)
# Put the Python "system" include dir at the end, so that
@@ -146,7 +146,7 @@ class build_ext (Command):
if plat_py_include != py_include:
self.include_dirs.append(plat_py_include)
- if type(self.libraries) is StringType:
+ if isinstance(self.libraries, basestring):
self.libraries = [self.libraries]
# Life is easier if we're not forever checking for None, so
@@ -155,12 +155,12 @@ class build_ext (Command):
self.libraries = []
if self.library_dirs is None:
self.library_dirs = []
- elif type(self.library_dirs) is StringType:
+ elif isinstance(self.library_dirs, basestring):
self.library_dirs = self.library_dirs.split(os.pathsep)
if self.rpath is None:
self.rpath = []
- elif type(self.rpath) is StringType:
+ elif isinstance(self.rpath, basestring):
self.rpath = self.rpath.split(os.pathsep)
# for extensions under windows use different directories
@@ -321,7 +321,7 @@ class build_ext (Command):
("each element of 'ext_modules' option must be an "
"Extension instance or 2-tuple")
- if not (type(ext_name) is StringType and
+ if not (isinstance(ext_name, basestring) and
extension_name_re.match(ext_name)):
raise DistutilsSetupError, \
("first element of each tuple in 'ext_modules' "
diff --git a/Lib/distutils/command/build_py.py b/Lib/distutils/command/build_py.py
index 990824b..52534bd 100644
--- a/Lib/distutils/command/build_py.py
+++ b/Lib/distutils/command/build_py.py
@@ -361,7 +361,7 @@ class build_py (Command):
def build_module (self, module, module_file, package):
- if type(package) is StringType:
+ if isinstance(package, basestring):
package = package.split('.')
elif type(package) not in (ListType, TupleType):
raise TypeError, \
diff --git a/Lib/distutils/command/config.py b/Lib/distutils/command/config.py
index 3374db9..04cfcde 100644
--- a/Lib/distutils/command/config.py
+++ b/Lib/distutils/command/config.py
@@ -73,17 +73,17 @@ class config (Command):
def finalize_options (self):
if self.include_dirs is None:
self.include_dirs = self.distribution.include_dirs or []
- elif type(self.include_dirs) is StringType:
+ elif isinstance(self.include_dirs, basestring):
self.include_dirs = self.include_dirs.split(os.pathsep)
if self.libraries is None:
self.libraries = []
- elif type(self.libraries) is StringType:
+ elif isinstance(self.libraries, basestring):
self.libraries = [self.libraries]
if self.library_dirs is None:
self.library_dirs = []
- elif type(self.library_dirs) is StringType:
+ elif isinstance(self.library_dirs, basestring):
self.library_dirs = self.library_dirs.split(os.pathsep)
@@ -212,7 +212,7 @@ class config (Command):
self._check_compiler()
(src, out) = self._preprocess(body, headers, include_dirs, lang)
- if type(pattern) is StringType:
+ if isinstance(pattern, basestring):
pattern = re.compile(pattern)
file = open(out)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index c03a90e..cc92e96 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -463,7 +463,7 @@ class install (Command):
self.extra_path = self.distribution.extra_path
if self.extra_path is not None:
- if type(self.extra_path) is StringType:
+ if isinstance(self.extra_path, basestring):
self.extra_path = self.extra_path.split(',')
if len(self.extra_path) == 1:
diff --git a/Lib/distutils/command/install_data.py b/Lib/distutils/command/install_data.py
index 1069830..a951944 100644
--- a/Lib/distutils/command/install_data.py
+++ b/Lib/distutils/command/install_data.py
@@ -10,7 +10,6 @@ platform-independent data files."""
__revision__ = "$Id$"
import os
-from types import StringType
from distutils.core import Command
from distutils.util import change_root, convert_path
@@ -48,7 +47,7 @@ class install_data (Command):
def run (self):
self.mkpath(self.install_dir)
for f in self.data_files:
- if type(f) is StringType:
+ if isinstance(f, basestring):
# it's a simple file, so copy it
f = convert_path(f)
if self.warn_dir:
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index 398f242..c6f014b 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -31,7 +31,7 @@ def mkpath (name, mode=0777, verbose=0, dry_run=0):
global _path_created
# Detect a common bug -- name is None
- if not isinstance(name, StringTypes):
+ if not isinstance(name, basestring):
raise DistutilsInternalError, \
"mkpath: 'name' must be a string (got %r)" % (name,)
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index 7ed1b5c..89390fb 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -598,13 +598,13 @@ Common commands: (see '--help-commands' for more)
keywords = self.metadata.keywords
if keywords is not None:
- if type(keywords) is StringType:
+ if isinstance(keywords, basestring):
keywordlist = keywords.split(',')
self.metadata.keywords = [x.strip() for x in keywordlist]
platforms = self.metadata.platforms
if platforms is not None:
- if type(platforms) is StringType:
+ if isinstance(platforms, basestring):
platformlist = platforms.split(',')
self.metadata.platforms = [x.strip() for x in platformlist]
@@ -906,7 +906,7 @@ Common commands: (see '--help-commands' for more)
neg_opt = {}
try:
- is_string = type(value) is StringType
+ is_string = isinstance(value, basestring)
if option in neg_opt and is_string:
setattr(command_obj, neg_opt[option], not strtobool(value))
elif option in bool_opts and is_string:
diff --git a/Lib/distutils/extension.py b/Lib/distutils/extension.py
index 0fcbcc1..7fe846b 100644
--- a/Lib/distutils/extension.py
+++ b/Lib/distutils/extension.py
@@ -103,9 +103,9 @@ class Extension:
language=None,
**kw # To catch unknown keywords
):
- assert type(name) is StringType, "'name' must be a string"
+ assert isinstance(name, basestring), "'name' must be a string"
assert (type(sources) is ListType and
- map(type, sources) == [StringType]*len(sources)), \
+ all(isinstance(v, basestring) for v in sources)), \
"'sources' must be a list of strings"
self.name = name
diff --git a/Lib/distutils/fancy_getopt.py b/Lib/distutils/fancy_getopt.py
index 317a3a4..82e1f4d 100644
--- a/Lib/distutils/fancy_getopt.py
+++ b/Lib/distutils/fancy_getopt.py
@@ -166,13 +166,13 @@ class FancyGetopt:
raise ValueError, "invalid option tuple: %r" % (option,)
# Type- and value-check the option names
- if type(long) is not StringType or len(long) < 2:
+ if not isinstance(long, basestring) or len(long) < 2:
raise DistutilsGetoptError, \
("invalid long option '%s': "
"must be a string of length >= 2") % long
if (not ((short is None) or
- (type(short) is StringType and len(short) == 1))):
+ (isinstance(short, basestring) and len(short) == 1))):
raise DistutilsGetoptError, \
("invalid short option '%s': "
"must a single character or None") % short
diff --git a/Lib/distutils/filelist.py b/Lib/distutils/filelist.py
index bc668cf..a052353 100644
--- a/Lib/distutils/filelist.py
+++ b/Lib/distutils/filelist.py
@@ -333,7 +333,7 @@ def translate_pattern (pattern, anchor=1, prefix=None, is_regex=0):
or just returned as-is (assumes it's a regex object).
"""
if is_regex:
- if type(pattern) is StringType:
+ if isinstance(pattern, basestring):
return re.compile(pattern)
else:
return pattern
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index 0795f12..a42ab5e 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -16,7 +16,7 @@ the "typical" Unix-style command-line C compiler:
__revision__ = "$Id$"
import os, sys
-from types import StringType, NoneType
+from types import NoneType
from copy import copy
from distutils import sysconfig
@@ -212,7 +212,7 @@ class UnixCCompiler(CCompiler):
lib_opts = gen_lib_options(self, library_dirs, runtime_library_dirs,
libraries)
- if type(output_dir) not in (StringType, NoneType):
+ if not isinstance(output_dir, (basestring, NoneType)):
raise TypeError, "'output_dir' must be a string or None"
if output_dir is not None:
output_filename = os.path.join(output_dir, output_filename)
diff --git a/Lib/locale.py b/Lib/locale.py
index d3294ce..35f4a79 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -470,7 +470,7 @@ def setlocale(category, locale=None):
category may be given as one of the LC_* values.
"""
- if locale and type(locale) is not type(""):
+ if locale and not isinstance(locale, basestring):
# convert to string
locale = normalize(_build_localename(locale))
return _setlocale(category, locale)
diff --git a/Lib/os.py b/Lib/os.py
index fdb3bed..34359c1 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -733,8 +733,8 @@ if not _exists("urandom"):
_urandomfd = open("/dev/urandom", O_RDONLY)
except (OSError, IOError):
raise NotImplementedError("/dev/urandom (or equivalent) not found")
- bytes = ""
- while len(bytes) < n:
- bytes += read(_urandomfd, n - len(bytes))
+ bs = b""
+ while len(bs) < n:
+ bs += read(_urandomfd, n - len(bs))
close(_urandomfd)
- return bytes
+ return bs
diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index f6cbd7b..4f2fb04 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -470,18 +470,8 @@ def _compile_info(code, pattern, flags):
_compile_charset(charset, flags, code)
code[skip] = len(code) - skip
-try:
- unicode
-except NameError:
- STRING_TYPES = (type(""),)
-else:
- STRING_TYPES = (type(""), type(unicode("")))
-
def isstring(obj):
- for tp in STRING_TYPES:
- if isinstance(obj, tp):
- return 1
- return 0
+ return isinstance(obj, basestring)
def _code(p, flags):
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index ffa74af..acb0d45 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -82,7 +82,7 @@ if have_unicode:
(unicode('100'), 100),
(unicode('314'), 314),
(unicode(' 314'), 314),
- (unicode('\u0663\u0661\u0664 ','raw-unicode-escape'), 314),
+ (unicode(b'\u0663\u0661\u0664 ','raw-unicode-escape'), 314),
(unicode(' \t\t 314 \t\t '), 314),
(unicode(' 1x'), ValueError),
(unicode(' 1 '), 1),
@@ -185,7 +185,7 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(chr(65), 'A')
self.assertEqual(chr(97), 'a')
self.assertEqual(chr(0xff), '\xff')
- self.assertRaises(ValueError, chr, 256)
+ self.assertRaises(ValueError, chr, 1<<24)
self.assertRaises(TypeError, chr)
def XXX_test_cmp(self):
@@ -209,7 +209,7 @@ class BuiltinTest(unittest.TestCase):
def test_compile(self):
compile('print(1)\n', '', 'exec')
bom = '\xef\xbb\xbf'
- compile(bom + 'print(1)\n', '', 'exec')
+ compile((bom + 'print(1)\n').encode("latin-1"), '', 'exec')
compile(source='pass', filename='?', mode='exec')
compile(dont_inherit=0, filename='tmp', source='0', mode='eval')
compile('pass', '?', dont_inherit=1, mode='exec')
@@ -220,7 +220,7 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(TypeError, compile, 'pass', '?', 'exec',
mode='eval', source='0', filename='tmp')
if have_unicode:
- compile(unicode('print(u"\xc3\xa5")\n', 'utf8'), '', 'exec')
+ compile(unicode(b'print(u"\xc3\xa5")\n', 'utf8'), '', 'exec')
self.assertRaises(TypeError, compile, unichr(0), 'f', 'exec')
self.assertRaises(ValueError, compile, unicode('a = 1'), 'f', 'bad')
@@ -339,9 +339,9 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(eval(unicode('b'), globals, locals), 200)
self.assertEqual(eval(unicode('c'), globals, locals), 300)
bom = '\xef\xbb\xbf'
- self.assertEqual(eval(bom + 'a', globals, locals), 1)
- self.assertEqual(eval(unicode('u"\xc3\xa5"', 'utf8'), globals),
- unicode('\xc3\xa5', 'utf8'))
+ self.assertEqual(eval((bom + 'a').encode("latin-1"), globals, locals), 1)
+ self.assertEqual(eval(unicode(b'u"\xc3\xa5"', 'utf8'), globals),
+ unicode(b'\xc3\xa5', 'utf8'))
self.assertRaises(TypeError, eval)
self.assertRaises(TypeError, eval, ())
@@ -608,7 +608,7 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(ValueError, float, " -0x3.p-1 ")
if have_unicode:
self.assertEqual(float(unicode(" 3.14 ")), 3.14)
- self.assertEqual(float(unicode(" \u0663.\u0661\u0664 ",'raw-unicode-escape')), 3.14)
+ self.assertEqual(float(unicode(b" \u0663.\u0661\u0664 ",'raw-unicode-escape')), 3.14)
# Implementation limitation in PyFloat_FromString()
self.assertRaises(ValueError, float, unicode("1"*10000))
@@ -1673,7 +1673,7 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(unichr(97), unicode('a'))
self.assertEqual(
unichr(sys.maxunicode),
- unicode('\\U%08x' % (sys.maxunicode), 'unicode-escape')
+ unicode(('\\U%08x' % (sys.maxunicode)).encode("ascii"), 'unicode-escape')
)
self.assertRaises(ValueError, unichr, sys.maxunicode+1)
self.assertRaises(TypeError, unichr)