Make the Distribution() constructor forgiving of unknown keyword

arguments, triggering a warning instead of raising an exception.  (In
1.5.2/2.0, it will print to stderr.)

Bugfix candidate for all previous versions.  This changes behaviour,
but the old behaviour wasn't very useful.  If Distutils version X+1
adds a new keyword argument, using the new keyword means your setup.py
file won't work with Distutils version X any more.
This commit is contained in:
Andrew M. Kuchling 2002-10-31 13:22:41 +00:00
parent 699799e6f3
commit ff4ad9a1ce
1 changed files with 11 additions and 2 deletions

View File

@ -12,6 +12,12 @@ __revision__ = "$Id$"
import sys, os, string, re
from types import *
from copy import copy
try:
import warnings
except:
warnings = None
from distutils.errors import *
from distutils.fancy_getopt import FancyGetopt, translate_longopt
from distutils.util import check_environ, strtobool, rfc822_escape
@ -206,8 +212,11 @@ class Distribution:
elif hasattr(self, key):
setattr(self, key, val)
else:
raise DistutilsSetupError, \
"invalid distribution option '%s'" % key
msg = "Unknown distribution option: %s" % repr(key)
if warnings is not None:
warnings.warn(msg)
else:
sys.stderr.write(msg + "\n")
self.finalize_options()