summaryrefslogtreecommitdiffstats
path: root/Lib/argparse.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/argparse.py')
-rw-r--r--Lib/argparse.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/argparse.py b/Lib/argparse.py
index 668e1d4..c47aeff 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -1171,6 +1171,13 @@ class _SubParsersAction(Action):
aliases = kwargs.pop('aliases', ())
+ if name in self._name_parser_map:
+ raise ArgumentError(self, _('conflicting subparser: %s') % name)
+ for alias in aliases:
+ if alias in self._name_parser_map:
+ raise ArgumentError(
+ self, _('conflicting subparser alias: %s') % alias)
+
# create a pseudo-action to hold the choice help
if 'help' in kwargs:
help = kwargs.pop('help')