diff options
author | Greg Ward <gward@python.net> | 1999-08-14 23:44:37 +0000 |
---|---|---|
committer | Greg Ward <gward@python.net> | 1999-08-14 23:44:37 +0000 |
commit | 0081cc529ccf205a3a8c40375848b51caae9537b (patch) | |
tree | a60618cdd05c1e965dbbcc7f20baa3f72b748d10 /Lib/distutils/fancy_getopt.py | |
parent | 8c66b697c14d3bbb5234cc97ed5ef426aed75655 (diff) | |
download | cpython-git-0081cc529ccf205a3a8c40375848b51caae9537b.tar.gz |
Better detection of bad entries in option table.
Better error messages for bad entries in option table.
Diffstat (limited to 'Lib/distutils/fancy_getopt.py')
-rw-r--r-- | Lib/distutils/fancy_getopt.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Lib/distutils/fancy_getopt.py b/Lib/distutils/fancy_getopt.py index c63ce61b8e..125dceb3e1 100644 --- a/Lib/distutils/fancy_getopt.py +++ b/Lib/distutils/fancy_getopt.py @@ -47,16 +47,24 @@ def fancy_getopt (options, object, args): attr_name = {} takes_arg = {} - for (long, short, help) in options: + for option in options: + try: + (long, short, help) = option + except ValueError: + raise DistutilsGetoptError, \ + "invalid option tuple " + str (option) + # Type-check the option names if type (long) is not StringType or len (long) < 2: raise DistutilsGetoptError, \ - "long option must be a string of length >= 2" + "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))): raise DistutilsGetoptError, \ - "short option must be None or string of length 1" + "short option '%s' must be None or string of length 1" % \ + short long_opts.append (long) |