summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/distutils/fancy_getopt.py14
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)