mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Patch# 1258 by Christian Heimes: kill basestring.
I like this because it makes the code shorter! :-)
This commit is contained in:
@@ -48,7 +48,6 @@ typedef struct {
|
||||
*/
|
||||
} PyStringObject;
|
||||
|
||||
PyAPI_DATA(PyTypeObject) PyBaseString_Type;
|
||||
PyAPI_DATA(PyTypeObject) PyString_Type;
|
||||
|
||||
#define PyString_Check(op) \
|
||||
|
||||
@@ -271,7 +271,7 @@ class RawConfigParser:
|
||||
|
||||
Return list of successfully read files.
|
||||
"""
|
||||
if isinstance(filenames, basestring):
|
||||
if isinstance(filenames, str):
|
||||
filenames = [filenames]
|
||||
read_ok = []
|
||||
for filename in filenames:
|
||||
@@ -652,7 +652,7 @@ class SafeConfigParser(ConfigParser):
|
||||
|
||||
def set(self, section, option, value):
|
||||
"""Set an option. Extend ConfigParser.set: check for string values."""
|
||||
if not isinstance(value, basestring):
|
||||
if not isinstance(value, str):
|
||||
raise TypeError("option values must be strings")
|
||||
# check for bad percent signs:
|
||||
# first, replace all "good" interpolations
|
||||
|
||||
@@ -11,7 +11,7 @@ __all__ = ["UserString","MutableString"]
|
||||
|
||||
class UserString:
|
||||
def __init__(self, seq):
|
||||
if isinstance(seq, basestring):
|
||||
if isinstance(seq, str):
|
||||
self.data = seq
|
||||
elif isinstance(seq, UserString):
|
||||
self.data = seq.data[:]
|
||||
@@ -66,12 +66,12 @@ class UserString:
|
||||
def __add__(self, other):
|
||||
if isinstance(other, UserString):
|
||||
return self.__class__(self.data + other.data)
|
||||
elif isinstance(other, basestring):
|
||||
elif isinstance(other, str):
|
||||
return self.__class__(self.data + other)
|
||||
else:
|
||||
return self.__class__(self.data + str(other))
|
||||
def __radd__(self, other):
|
||||
if isinstance(other, basestring):
|
||||
if isinstance(other, str):
|
||||
return self.__class__(other + self.data)
|
||||
else:
|
||||
return self.__class__(str(other) + self.data)
|
||||
@@ -184,7 +184,7 @@ class MutableString(UserString):
|
||||
if isinstance(index, slice):
|
||||
if isinstance(sub, UserString):
|
||||
sub = sub.data
|
||||
elif not isinstance(sub, basestring):
|
||||
elif not isinstance(sub, str):
|
||||
sub = str(sub)
|
||||
start, stop, step = index.indices(len(self.data))
|
||||
if step == -1:
|
||||
@@ -221,7 +221,7 @@ class MutableString(UserString):
|
||||
def __iadd__(self, other):
|
||||
if isinstance(other, UserString):
|
||||
self.data += other.data
|
||||
elif isinstance(other, basestring):
|
||||
elif isinstance(other, str):
|
||||
self.data += other
|
||||
else:
|
||||
self.data += str(other)
|
||||
|
||||
@@ -490,7 +490,8 @@ class Sequence(metaclass=ABCMeta):
|
||||
return sum(1 for v in self if v == value)
|
||||
|
||||
Sequence.register(tuple)
|
||||
Sequence.register(basestring)
|
||||
Sequence.register(str)
|
||||
Sequence.register(str8)
|
||||
Sequence.register(memoryview)
|
||||
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ class _Rlecoderengine:
|
||||
class BinHex:
|
||||
def __init__(self, name_finfo_dlen_rlen, ofp):
|
||||
name, finfo, dlen, rlen = name_finfo_dlen_rlen
|
||||
if isinstance(ofp, basestring):
|
||||
if isinstance(ofp, str):
|
||||
ofname = ofp
|
||||
ofp = io.open(ofname, 'wb')
|
||||
if os.name == 'mac':
|
||||
@@ -371,7 +371,7 @@ class _Rledecoderengine:
|
||||
|
||||
class HexBin:
|
||||
def __init__(self, ifp):
|
||||
if isinstance(ifp, basestring):
|
||||
if isinstance(ifp, str):
|
||||
ifp = io.open(ifp, 'rb')
|
||||
#
|
||||
# Find initial colon.
|
||||
|
||||
@@ -153,7 +153,7 @@ class Profile(_lsprof.Profiler):
|
||||
# ____________________________________________________________
|
||||
|
||||
def label(code):
|
||||
if isinstance(code, basestring):
|
||||
if isinstance(code, str):
|
||||
return ('~', 0, code) # built-in functions ('~' sorts at the end)
|
||||
else:
|
||||
return (code.co_filename, code.co_firstlineno, code.co_name)
|
||||
|
||||
@@ -356,7 +356,7 @@ class Cmd:
|
||||
return
|
||||
|
||||
nonstrings = [i for i in range(len(list))
|
||||
if not isinstance(list[i], basestring)]
|
||||
if not isinstance(list[i], str)]
|
||||
if nonstrings:
|
||||
raise TypeError("list[i] not a string for i in %s"
|
||||
% ", ".join(map(str, nonstrings)))
|
||||
|
||||
@@ -367,7 +367,7 @@ def split_header_words(header_values):
|
||||
[[('Basic', None), ('realm', '"foobar"')]]
|
||||
|
||||
"""
|
||||
assert not isinstance(header_values, basestring)
|
||||
assert not isinstance(header_values, str)
|
||||
result = []
|
||||
for text in header_values:
|
||||
orig_text = text
|
||||
|
||||
@@ -114,7 +114,7 @@ def _slotnames(cls):
|
||||
if "__slots__" in c.__dict__:
|
||||
slots = c.__dict__['__slots__']
|
||||
# if class has a single slot, it can be given as a string
|
||||
if isinstance(slots, basestring):
|
||||
if isinstance(slots, str):
|
||||
slots = (slots,)
|
||||
for name in slots:
|
||||
# special descriptors
|
||||
|
||||
@@ -588,7 +588,7 @@ class Decimal(object):
|
||||
|
||||
# From a string
|
||||
# REs insist on real strings, so we can too.
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, str):
|
||||
if _isinfinity(value):
|
||||
self._exp = 'F'
|
||||
self._int = (0,)
|
||||
|
||||
@@ -154,7 +154,7 @@ class CCompiler:
|
||||
self.set_executable(key, value)
|
||||
|
||||
def set_executable(self, key, value):
|
||||
if isinstance(value, basestring):
|
||||
if isinstance(value, str):
|
||||
setattr(self, key, split_quoted(value))
|
||||
else:
|
||||
setattr(self, key, value)
|
||||
@@ -175,8 +175,8 @@ class CCompiler:
|
||||
for defn in definitions:
|
||||
if not (isinstance(defn, tuple) and
|
||||
(len(defn) in (1, 2) and
|
||||
(isinstance (defn[1], basestring) or defn[1] is None)) and
|
||||
isinstance (defn[0], basestring)):
|
||||
(isinstance (defn[1], str) or defn[1] is None)) and
|
||||
isinstance (defn[0], str)):
|
||||
raise TypeError(("invalid macro definition '%s': " % defn) + \
|
||||
"must be tuple (string,), (string, string), or " + \
|
||||
"(string, None)")
|
||||
@@ -318,7 +318,7 @@ class CCompiler:
|
||||
"""
|
||||
if outdir is None:
|
||||
outdir = self.output_dir
|
||||
elif not isinstance(outdir, basestring):
|
||||
elif not isinstance(outdir, str):
|
||||
raise TypeError("'output_dir' must be a string or None")
|
||||
|
||||
if macros is None:
|
||||
@@ -415,7 +415,7 @@ class CCompiler:
|
||||
"""
|
||||
if output_dir is None:
|
||||
output_dir = self.output_dir
|
||||
elif not isinstance(output_dir, basestring):
|
||||
elif not isinstance(output_dir, str):
|
||||
raise TypeError("'output_dir' must be a string or None")
|
||||
|
||||
if macros is None:
|
||||
@@ -494,7 +494,7 @@ class CCompiler:
|
||||
|
||||
if output_dir is None:
|
||||
output_dir = self.output_dir
|
||||
elif not isinstance(output_dir, basestring):
|
||||
elif not isinstance(output_dir, str):
|
||||
raise TypeError("'output_dir' must be a string or None")
|
||||
|
||||
return (objects, output_dir)
|
||||
|
||||
@@ -213,7 +213,7 @@ class Command:
|
||||
if val is None:
|
||||
setattr(self, option, default)
|
||||
return default
|
||||
elif not isinstance(val, basestring):
|
||||
elif not isinstance(val, str):
|
||||
raise DistutilsOptionError("'%s' must be a %s (got `%s`)"
|
||||
% (option, what, val))
|
||||
return val
|
||||
@@ -233,11 +233,11 @@ class Command:
|
||||
val = getattr(self, option)
|
||||
if val is None:
|
||||
return
|
||||
elif isinstance(val, basestring):
|
||||
elif isinstance(val, str):
|
||||
setattr(self, option, re.split(r',\s*|\s+', val))
|
||||
else:
|
||||
if isinstance(val, list):
|
||||
ok = all(isinstance(v, basestring) for v in val)
|
||||
ok = all(isinstance(v, str) for v in val)
|
||||
else:
|
||||
ok = False
|
||||
if not ok:
|
||||
@@ -390,7 +390,7 @@ class Command:
|
||||
|
||||
|
||||
# Allow 'infiles' to be a single string
|
||||
if isinstance(infiles, basestring):
|
||||
if isinstance(infiles, str):
|
||||
infiles = (infiles,)
|
||||
elif not isinstance(infiles, (list, tuple)):
|
||||
raise TypeError(
|
||||
|
||||
@@ -86,7 +86,7 @@ class build_clib(Command):
|
||||
|
||||
if self.include_dirs is None:
|
||||
self.include_dirs = self.distribution.include_dirs or []
|
||||
if isinstance(self.include_dirs, basestring):
|
||||
if isinstance(self.include_dirs, str):
|
||||
self.include_dirs = self.include_dirs.split(os.pathsep)
|
||||
|
||||
# XXX same as for build_ext -- what about 'self.define' and
|
||||
@@ -134,7 +134,7 @@ class build_clib(Command):
|
||||
raise DistutilsSetupError(
|
||||
"each element of 'libraries' must a 2-tuple")
|
||||
|
||||
if isinstance(lib[0], basestring):
|
||||
if isinstance(lib[0], str):
|
||||
raise DistutilsSetupError(
|
||||
"first element of each tuple in 'libraries' "
|
||||
"must be a string (the library name)")
|
||||
|
||||
@@ -133,7 +133,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 isinstance(self.include_dirs, basestring):
|
||||
if isinstance(self.include_dirs, str):
|
||||
self.include_dirs = self.include_dirs.split(os.pathsep)
|
||||
|
||||
# Put the Python "system" include dir at the end, so that
|
||||
@@ -142,7 +142,7 @@ class build_ext(Command):
|
||||
if plat_py_include != py_include:
|
||||
self.include_dirs.append(plat_py_include)
|
||||
|
||||
if isinstance(self.libraries, basestring):
|
||||
if isinstance(self.libraries, str):
|
||||
self.libraries = [self.libraries]
|
||||
|
||||
# Life is easier if we're not forever checking for None, so
|
||||
@@ -151,12 +151,12 @@ class build_ext(Command):
|
||||
self.libraries = []
|
||||
if self.library_dirs is None:
|
||||
self.library_dirs = []
|
||||
elif isinstance(self.library_dirs, basestring):
|
||||
elif isinstance(self.library_dirs, str):
|
||||
self.library_dirs = self.library_dirs.split(os.pathsep)
|
||||
|
||||
if self.rpath is None:
|
||||
self.rpath = []
|
||||
elif isinstance(self.rpath, basestring):
|
||||
elif isinstance(self.rpath, str):
|
||||
self.rpath = self.rpath.split(os.pathsep)
|
||||
|
||||
# for extensions under windows use different directories
|
||||
@@ -309,7 +309,7 @@ class build_ext(Command):
|
||||
"each element of 'ext_modules' option must be an "
|
||||
"Extension instance or 2-tuple")
|
||||
|
||||
if not (isinstance(ext_name, basestring) and
|
||||
if not (isinstance(ext_name, str) and
|
||||
extension_name_re.match(ext_name)):
|
||||
raise DistutilsSetupError(
|
||||
"first element of each tuple in 'ext_modules' "
|
||||
|
||||
@@ -325,7 +325,7 @@ class build_py (Command):
|
||||
return outputs
|
||||
|
||||
def build_module(self, module, module_file, package):
|
||||
if isinstance(package, basestring):
|
||||
if isinstance(package, str):
|
||||
package = package.split('.')
|
||||
elif not isinstance(package, (list, tuple)):
|
||||
raise TypeError(
|
||||
|
||||
@@ -69,17 +69,17 @@ class config(Command):
|
||||
def finalize_options(self):
|
||||
if self.include_dirs is None:
|
||||
self.include_dirs = self.distribution.include_dirs or []
|
||||
elif isinstance(self.include_dirs, basestring):
|
||||
elif isinstance(self.include_dirs, str):
|
||||
self.include_dirs = self.include_dirs.split(os.pathsep)
|
||||
|
||||
if self.libraries is None:
|
||||
self.libraries = []
|
||||
elif isinstance(self.libraries, basestring):
|
||||
elif isinstance(self.libraries, str):
|
||||
self.libraries = [self.libraries]
|
||||
|
||||
if self.library_dirs is None:
|
||||
self.library_dirs = []
|
||||
elif isinstance(self.library_dirs, basestring):
|
||||
elif isinstance(self.library_dirs, str):
|
||||
self.library_dirs = self.library_dirs.split(os.pathsep)
|
||||
|
||||
def run(self):
|
||||
@@ -204,7 +204,7 @@ class config(Command):
|
||||
self._check_compiler()
|
||||
(src, out) = self._preprocess(body, headers, include_dirs, lang)
|
||||
|
||||
if isinstance(pattern, basestring):
|
||||
if isinstance(pattern, str):
|
||||
pattern = re.compile(pattern)
|
||||
|
||||
file = open(out)
|
||||
|
||||
@@ -449,7 +449,7 @@ class install (Command):
|
||||
self.extra_path = self.distribution.extra_path
|
||||
|
||||
if self.extra_path is not None:
|
||||
if isinstance(self.extra_path, basestring):
|
||||
if isinstance(self.extra_path, str):
|
||||
self.extra_path = self.extra_path.split(',')
|
||||
|
||||
if len(self.extra_path) == 1:
|
||||
|
||||
@@ -45,7 +45,7 @@ class install_data(Command):
|
||||
def run(self):
|
||||
self.mkpath(self.install_dir)
|
||||
for f in self.data_files:
|
||||
if isinstance(f, basestring):
|
||||
if isinstance(f, str):
|
||||
# it's a simple file, so copy it
|
||||
f = convert_path(f)
|
||||
if self.warn_dir:
|
||||
|
||||
@@ -28,7 +28,7 @@ def mkpath (name, mode=0o777, verbose=0, dry_run=0):
|
||||
global _path_created
|
||||
|
||||
# Detect a common bug -- name is None
|
||||
if not isinstance(name, basestring):
|
||||
if not isinstance(name, str):
|
||||
raise DistutilsInternalError(
|
||||
"mkpath: 'name' must be a string (got %r)" % (name,))
|
||||
|
||||
|
||||
@@ -580,13 +580,13 @@ Common commands: (see '--help-commands' for more)
|
||||
|
||||
keywords = self.metadata.keywords
|
||||
if keywords is not None:
|
||||
if isinstance(keywords, basestring):
|
||||
if isinstance(keywords, str):
|
||||
keywordlist = keywords.split(',')
|
||||
self.metadata.keywords = [x.strip() for x in keywordlist]
|
||||
|
||||
platforms = self.metadata.platforms
|
||||
if platforms is not None:
|
||||
if isinstance(platforms, basestring):
|
||||
if isinstance(platforms, str):
|
||||
platformlist = platforms.split(',')
|
||||
self.metadata.platforms = [x.strip() for x in platformlist]
|
||||
|
||||
@@ -874,7 +874,7 @@ Common commands: (see '--help-commands' for more)
|
||||
neg_opt = {}
|
||||
|
||||
try:
|
||||
is_string = isinstance(value, basestring)
|
||||
is_string = isinstance(value, str)
|
||||
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:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user