diff options
author | steven.bethard <devnull@localhost> | 2009-09-12 15:56:57 +0000 |
---|---|---|
committer | steven.bethard <devnull@localhost> | 2009-09-12 15:56:57 +0000 |
commit | 731583b6079d863789ee79bb60481b88c4165a74 (patch) | |
tree | 0de685804a389898e78788347f7570e0cbcb7e0d /argparse.py | |
parent | 58696981329163d657cdeacbe8940f337aef0a63 (diff) | |
download | argparse-731583b6079d863789ee79bb60481b88c4165a74.tar.gz |
Fix bug with mutually exclusive groups in parent= parsers.
Diffstat (limited to 'argparse.py')
-rw-r--r-- | argparse.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/argparse.py b/argparse.py index 8950cc7..cb77a4a 100644 --- a/argparse.py +++ b/argparse.py @@ -1281,6 +1281,17 @@ class _ActionsContainer(object): for action in group._group_actions: group_map[action] = title_group_map[group.title] + # add container's mutually exclusive groups + # NOTE: if add_mutually_exclusive_group ever gains title= and + # description= then this code will need to be expanded as above + for group in container._mutually_exclusive_groups: + mutex_group = self.add_mutually_exclusive_group( + required=group.required) + + # map the actions to their new mutex group + for action in group._group_actions: + group_map[action] = mutex_group + # add all actions to this container or their group for action in container._actions: group_map.get(action, self)._add_action(action) |