Commit 36bf11e1 authored by Guido van Rossum's avatar Guido van Rossum

Removed uses of dict.has_key() from distutils, and uses of

callable() from copy_reg.py, so the interpreter now starts up
without warnings when '-3' is given.  More work like this needs to
be done in the rest of the stdlib.
parent b1165a0f
...@@ -124,7 +124,7 @@ ARCHIVE_FORMATS = { ...@@ -124,7 +124,7 @@ ARCHIVE_FORMATS = {
def check_archive_formats (formats): def check_archive_formats (formats):
for format in formats: for format in formats:
if not ARCHIVE_FORMATS.has_key(format): if format not in ARCHIVE_FORMATS:
return format return format
else: else:
return None return None
......
...@@ -159,7 +159,7 @@ class CCompiler: ...@@ -159,7 +159,7 @@ class CCompiler:
# basically the same things with Unix C compilers. # basically the same things with Unix C compilers.
for key in args.keys(): for key in args.keys():
if not self.executables.has_key(key): if key not in self.executables:
raise ValueError, \ raise ValueError, \
"unknown executable '%s' for class %s" % \ "unknown executable '%s' for class %s" % \
(key, self.__class__.__name__) (key, self.__class__.__name__)
......
...@@ -362,7 +362,7 @@ class build_ext (Command): ...@@ -362,7 +362,7 @@ class build_ext (Command):
# Medium-easy stuff: same syntax/semantics, different names. # Medium-easy stuff: same syntax/semantics, different names.
ext.runtime_library_dirs = build_info.get('rpath') ext.runtime_library_dirs = build_info.get('rpath')
if build_info.has_key('def_file'): if 'def_file' in build_info:
log.warn("'def_file' element of build info dict " log.warn("'def_file' element of build info dict "
"no longer supported") "no longer supported")
......
...@@ -352,7 +352,7 @@ class install (Command): ...@@ -352,7 +352,7 @@ class install (Command):
opt_name = opt[0] opt_name = opt[0]
if opt_name[-1] == "=": if opt_name[-1] == "=":
opt_name = opt_name[0:-1] opt_name = opt_name[0:-1]
if self.negative_opt.has_key(opt_name): if opt_name in self.negative_opt:
opt_name = string.translate(self.negative_opt[opt_name], opt_name = string.translate(self.negative_opt[opt_name],
longopt_xlate) longopt_xlate)
val = not getattr(self, opt_name) val = not getattr(self, opt_name)
......
...@@ -120,7 +120,7 @@ class register(Command): ...@@ -120,7 +120,7 @@ class register(Command):
# see if we can short-cut and get the username/password from the # see if we can short-cut and get the username/password from the
# config # config
config = None config = None
if os.environ.has_key('HOME'): if 'HOME' in os.environ:
rc = os.path.join(os.environ['HOME'], '.pypirc') rc = os.path.join(os.environ['HOME'], '.pypirc')
if os.path.exists(rc): if os.path.exists(rc):
print 'Using PyPI login from %s'%rc print 'Using PyPI login from %s'%rc
...@@ -163,7 +163,7 @@ Your selection [default 1]: ''', ...@@ -163,7 +163,7 @@ Your selection [default 1]: ''',
print 'Server response (%s): %s'%(code, result) print 'Server response (%s): %s'%(code, result)
# possibly save the login # possibly save the login
if os.environ.has_key('HOME') and config is None and code == 200: if 'HOME' in os.environ and config is None and code == 200:
rc = os.path.join(os.environ['HOME'], '.pypirc') rc = os.path.join(os.environ['HOME'], '.pypirc')
print 'I can store your PyPI login so future submissions will be faster.' print 'I can store your PyPI login so future submissions will be faster.'
print '(the login will be stored in %s)'%rc print '(the login will be stored in %s)'%rc
......
...@@ -46,7 +46,7 @@ class upload(Command): ...@@ -46,7 +46,7 @@ class upload(Command):
raise DistutilsOptionError( raise DistutilsOptionError(
"Must use --sign for --identity to have meaning" "Must use --sign for --identity to have meaning"
) )
if os.environ.has_key('HOME'): if 'HOME' in os.environ:
rc = os.path.join(os.environ['HOME'], '.pypirc') rc = os.path.join(os.environ['HOME'], '.pypirc')
if os.path.exists(rc): if os.path.exists(rc):
self.announce('Using PyPI login from %s' % rc) self.announce('Using PyPI login from %s' % rc)
......
...@@ -101,9 +101,9 @@ def setup (**attrs): ...@@ -101,9 +101,9 @@ def setup (**attrs):
else: else:
klass = Distribution klass = Distribution
if not attrs.has_key('script_name'): if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0]) attrs['script_name'] = os.path.basename(sys.argv[0])
if not attrs.has_key('script_args'): if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:] attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments # Create the Distribution instance, using the remaining arguments
...@@ -111,7 +111,7 @@ def setup (**attrs): ...@@ -111,7 +111,7 @@ def setup (**attrs):
try: try:
_setup_distribution = dist = klass(attrs) _setup_distribution = dist = klass(attrs)
except DistutilsSetupError, msg: except DistutilsSetupError, msg:
if attrs.has_key('name'): if 'name' in attrs:
raise SystemExit, "error in %s setup command: %s" % \ raise SystemExit, "error in %s setup command: %s" % \
(attrs['name'], msg) (attrs['name'], msg)
else: else:
......
...@@ -207,7 +207,7 @@ def remove_tree (directory, verbose=0, dry_run=0): ...@@ -207,7 +207,7 @@ def remove_tree (directory, verbose=0, dry_run=0):
apply(cmd[0], (cmd[1],)) apply(cmd[0], (cmd[1],))
# remove dir from cache if it's already there # remove dir from cache if it's already there
abspath = os.path.abspath(cmd[1]) abspath = os.path.abspath(cmd[1])
if _path_created.has_key(abspath): if abspath in _path_created:
del _path_created[abspath] del _path_created[abspath]
except (IOError, OSError), exc: except (IOError, OSError), exc:
log.warn(grok_environment_error( log.warn(grok_environment_error(
......
...@@ -239,7 +239,7 @@ Common commands: (see '--help-commands' for more) ...@@ -239,7 +239,7 @@ Common commands: (see '--help-commands' for more)
for (opt, val) in cmd_options.items(): for (opt, val) in cmd_options.items():
opt_dict[opt] = ("setup script", val) opt_dict[opt] = ("setup script", val)
if attrs.has_key('licence'): if 'licence' in attrs:
attrs['license'] = attrs['licence'] attrs['license'] = attrs['licence']
del attrs['licence'] del attrs['licence']
msg = "'licence' distribution option is deprecated; use 'license'" msg = "'licence' distribution option is deprecated; use 'license'"
...@@ -343,7 +343,7 @@ Common commands: (see '--help-commands' for more) ...@@ -343,7 +343,7 @@ Common commands: (see '--help-commands' for more)
user_filename = "pydistutils.cfg" user_filename = "pydistutils.cfg"
# And look for the user config file # And look for the user config file
if os.environ.has_key('HOME'): if 'HOME' in os.environ:
user_file = os.path.join(os.environ.get('HOME'), user_filename) user_file = os.path.join(os.environ.get('HOME'), user_filename)
if os.path.isfile(user_file): if os.path.isfile(user_file):
files.append(user_file) files.append(user_file)
...@@ -388,7 +388,7 @@ Common commands: (see '--help-commands' for more) ...@@ -388,7 +388,7 @@ Common commands: (see '--help-commands' for more)
# If there was a "global" section in the config file, use it # If there was a "global" section in the config file, use it
# to set Distribution options. # to set Distribution options.
if self.command_options.has_key('global'): if 'global' in self.command_options:
for (opt, (src, val)) in self.command_options['global'].items(): for (opt, (src, val)) in self.command_options['global'].items():
alias = self.negative_opt.get(opt) alias = self.negative_opt.get(opt)
try: try:
...@@ -907,7 +907,7 @@ Common commands: (see '--help-commands' for more) ...@@ -907,7 +907,7 @@ Common commands: (see '--help-commands' for more)
try: try:
is_string = type(value) is StringType is_string = type(value) is StringType
if neg_opt.has_key(option) and is_string: if option in neg_opt and is_string:
setattr(command_obj, neg_opt[option], not strtobool(value)) setattr(command_obj, neg_opt[option], not strtobool(value))
elif option in bool_opts and is_string: elif option in bool_opts and is_string:
setattr(command_obj, option, strtobool(value)) setattr(command_obj, option, strtobool(value))
......
...@@ -97,7 +97,7 @@ class FancyGetopt: ...@@ -97,7 +97,7 @@ class FancyGetopt:
self._build_index() self._build_index()
def add_option (self, long_option, short_option=None, help_string=None): def add_option (self, long_option, short_option=None, help_string=None):
if self.option_index.has_key(long_option): if long_option in self.option_index:
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
"option conflict: already an option '%s'" % long_option "option conflict: already an option '%s'" % long_option
else: else:
...@@ -109,7 +109,7 @@ class FancyGetopt: ...@@ -109,7 +109,7 @@ class FancyGetopt:
def has_option (self, long_option): def has_option (self, long_option):
"""Return true if the option table for this parser has an """Return true if the option table for this parser has an
option with long name 'long_option'.""" option with long name 'long_option'."""
return self.option_index.has_key(long_option) return long_option in self.option_index
def get_attr_name (self, long_option): def get_attr_name (self, long_option):
"""Translate long option name 'long_option' to the form it """Translate long option name 'long_option' to the form it
...@@ -121,11 +121,11 @@ class FancyGetopt: ...@@ -121,11 +121,11 @@ class FancyGetopt:
def _check_alias_dict (self, aliases, what): def _check_alias_dict (self, aliases, what):
assert type(aliases) is DictionaryType assert type(aliases) is DictionaryType
for (alias, opt) in aliases.items(): for (alias, opt) in aliases.items():
if not self.option_index.has_key(alias): if alias not in self.option_index:
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
("invalid %s '%s': " ("invalid %s '%s': "
"option '%s' not defined") % (what, alias, alias) "option '%s' not defined") % (what, alias, alias)
if not self.option_index.has_key(opt): if opt not in self.option_index:
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
("invalid %s '%s': " ("invalid %s '%s': "
"aliased option '%s' not defined") % (what, alias, opt) "aliased option '%s' not defined") % (what, alias, opt)
......
...@@ -252,7 +252,7 @@ class MSVCCompiler (CCompiler) : ...@@ -252,7 +252,7 @@ class MSVCCompiler (CCompiler) :
def initialize(self): def initialize(self):
self.__paths = [] self.__paths = []
if os.environ.has_key("DISTUTILS_USE_SDK") and os.environ.has_key("MSSdk") and self.find_exe("cl.exe"): if "DISTUTILS_USE_SDK" in os.environ and "MSSdk" in os.environ and self.find_exe("cl.exe"):
# Assume that the SDK set up everything alright; don't try to be # Assume that the SDK set up everything alright; don't try to be
# smarter # smarter
self.cc = "cl.exe" self.cc = "cl.exe"
......
...@@ -161,22 +161,22 @@ def customize_compiler(compiler): ...@@ -161,22 +161,22 @@ def customize_compiler(compiler):
get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
'CCSHARED', 'LDSHARED', 'SO') 'CCSHARED', 'LDSHARED', 'SO')
if os.environ.has_key('CC'): if 'CC' in os.environ:
cc = os.environ['CC'] cc = os.environ['CC']
if os.environ.has_key('CXX'): if 'CXX' in os.environ:
cxx = os.environ['CXX'] cxx = os.environ['CXX']
if os.environ.has_key('LDSHARED'): if 'LDSHARED' in os.environ:
ldshared = os.environ['LDSHARED'] ldshared = os.environ['LDSHARED']
if os.environ.has_key('CPP'): if 'CPP' in os.environ:
cpp = os.environ['CPP'] cpp = os.environ['CPP']
else: else:
cpp = cc + " -E" # not always cpp = cc + " -E" # not always
if os.environ.has_key('LDFLAGS'): if 'LDFLAGS' in os.environ:
ldshared = ldshared + ' ' + os.environ['LDFLAGS'] ldshared = ldshared + ' ' + os.environ['LDFLAGS']
if os.environ.has_key('CFLAGS'): if 'CFLAGS' in os.environ:
cflags = opt + ' ' + os.environ['CFLAGS'] cflags = opt + ' ' + os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS'] ldshared = ldshared + ' ' + os.environ['CFLAGS']
if os.environ.has_key('CPPFLAGS'): if 'CPPFLAGS' in os.environ:
cpp = cpp + ' ' + os.environ['CPPFLAGS'] cpp = cpp + ' ' + os.environ['CPPFLAGS']
cflags = cflags + ' ' + os.environ['CPPFLAGS'] cflags = cflags + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
...@@ -291,12 +291,12 @@ def parse_makefile(fn, g=None): ...@@ -291,12 +291,12 @@ def parse_makefile(fn, g=None):
if m: if m:
n = m.group(1) n = m.group(1)
found = True found = True
if done.has_key(n): if n in done:
item = str(done[n]) item = str(done[n])
elif notdone.has_key(n): elif n in notdone:
# get it on a subsequent round # get it on a subsequent round
found = False found = False
elif os.environ.has_key(n): elif n in os.environ:
# do it like make: fall back to environment # do it like make: fall back to environment
item = os.environ[n] item = os.environ[n]
else: else:
...@@ -380,7 +380,7 @@ def _init_posix(): ...@@ -380,7 +380,7 @@ def _init_posix():
# MACOSX_DEPLOYMENT_TARGET: configure bases some choices on it so # MACOSX_DEPLOYMENT_TARGET: configure bases some choices on it so
# it needs to be compatible. # it needs to be compatible.
# If it isn't set we set it to the configure-time value # If it isn't set we set it to the configure-time value
if sys.platform == 'darwin' and g.has_key('MACOSX_DEPLOYMENT_TARGET'): if sys.platform == 'darwin' and 'MACOSX_DEPLOYMENT_TARGET' in g:
cfg_target = g['MACOSX_DEPLOYMENT_TARGET'] cfg_target = g['MACOSX_DEPLOYMENT_TARGET']
cur_target = os.getenv('MACOSX_DEPLOYMENT_TARGET', '') cur_target = os.getenv('MACOSX_DEPLOYMENT_TARGET', '')
if cur_target == '': if cur_target == '':
......
...@@ -89,7 +89,7 @@ class TextFile: ...@@ -89,7 +89,7 @@ class TextFile:
# set values for all options -- either from client option hash # set values for all options -- either from client option hash
# or fallback to default_options # or fallback to default_options
for opt in self.default_options.keys(): for opt in self.default_options.keys():
if options.has_key (opt): if opt in options:
setattr (self, opt, options[opt]) setattr (self, opt, options[opt])
else: else:
...@@ -97,7 +97,7 @@ class TextFile: ...@@ -97,7 +97,7 @@ class TextFile:
# sanity check client option hash # sanity check client option hash
for opt in options.keys(): for opt in options.keys():
if not self.default_options.has_key (opt): if opt not in self.default_options:
raise KeyError, "invalid TextFile option '%s'" % opt raise KeyError, "invalid TextFile option '%s'" % opt
if file is None: if file is None:
......
...@@ -219,11 +219,11 @@ def check_environ (): ...@@ -219,11 +219,11 @@ def check_environ ():
if _environ_checked: if _environ_checked:
return return
if os.name == 'posix' and not os.environ.has_key('HOME'): if os.name == 'posix' and 'HOME' not in os.environ:
import pwd import pwd
os.environ['HOME'] = pwd.getpwuid(os.getuid())[5] os.environ['HOME'] = pwd.getpwuid(os.getuid())[5]
if not os.environ.has_key('PLAT'): if 'PLAT' not in os.environ:
os.environ['PLAT'] = get_platform() os.environ['PLAT'] = get_platform()
_environ_checked = 1 _environ_checked = 1
...@@ -241,7 +241,7 @@ def subst_vars (s, local_vars): ...@@ -241,7 +241,7 @@ def subst_vars (s, local_vars):
check_environ() check_environ()
def _subst (match, local_vars=local_vars): def _subst (match, local_vars=local_vars):
var_name = match.group(1) var_name = match.group(1)
if local_vars.has_key(var_name): if var_name in local_vars:
return str(local_vars[var_name]) return str(local_vars[var_name])
else: else:
return os.environ[var_name] return os.environ[var_name]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment