added check for already existing option names to OptionGroup.addoption()

This commit is contained in:
Stefan Zimmermann
2016-06-22 09:52:48 +02:00
parent 7d60fcc098
commit 69bab4ab04
4 changed files with 18 additions and 0 deletions
+4
View File
@@ -686,6 +686,10 @@ class OptionGroup:
results in help showing '--two-words' only, but --twowords gets
accepted **and** the automatic destination is in args.twowords
"""
conflict = set(optnames).intersection(
name for opt in self.options for name in opt.names())
if conflict:
raise ValueError("option names %s already added" % conflict)
option = Argument(*optnames, **attrs)
self._addoption_instance(option, shortupper=False)