1 |
commit: bfdc03077c6b85df207c6109a57a7af7d5e5676a |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Aug 2 18:03:49 2013 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Aug 2 18:03:49 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=bfdc0307 |
7 |
|
8 |
_argparse: support add_argument_group |
9 |
|
10 |
--- |
11 |
pym/portage/util/_argparse.py | 12 +++++++++++- |
12 |
1 file changed, 11 insertions(+), 1 deletion(-) |
13 |
|
14 |
diff --git a/pym/portage/util/_argparse.py b/pym/portage/util/_argparse.py |
15 |
index 4227f4c..a44afed 100644 |
16 |
--- a/pym/portage/util/_argparse.py |
17 |
+++ b/pym/portage/util/_argparse.py |
18 |
@@ -7,7 +7,7 @@ try: |
19 |
from argparse import ArgumentParser |
20 |
except ImportError: |
21 |
# Compatibility with Python 2.6 and 3.1 |
22 |
- from optparse import OptionParser |
23 |
+ from optparse import OptionGroup, OptionParser |
24 |
|
25 |
class ArgumentParser(object): |
26 |
def __init__(self, **kwargs): |
27 |
@@ -15,6 +15,16 @@ except ImportError: |
28 |
if add_help is not None: |
29 |
kwargs["add_help_option"] = add_help |
30 |
parser = OptionParser(**kwargs) |
31 |
+ self._parser = parser |
32 |
self.add_argument = parser.add_option |
33 |
self.parse_known_args = parser.parse_args |
34 |
self.parse_args = parser.parse_args |
35 |
+ |
36 |
+ def add_argument_group(self, title=None, **kwargs): |
37 |
+ optiongroup = OptionGroup(self._parser, title, **kwargs) |
38 |
+ self._parser.add_option_group(optiongroup) |
39 |
+ return _ArgumentGroup(optiongroup) |
40 |
+ |
41 |
+ class _ArgumentGroup(object): |
42 |
+ def __init__(self, optiongroup): |
43 |
+ self.add_argument = optiongroup.add_option |