aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Guenther <agx@sigxcpu.org>2008-07-17 13:39:30 -0230
committerGuido Guenther <agx@sigxcpu.org>2008-07-17 13:39:30 -0230
commitdf04101f3fb51a3f8716fc163fba2716018c4168 (patch)
tree5ec2fd126eeb1d29e6c6da2d738e15b682ab4840
parent4ca26f7dad8bcefd015b9d3b2fea803967fa5814 (diff)
add GbpOptionGroup
so we can use default values in option groups
-rw-r--r--gbp/config.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/gbp/config.py b/gbp/config.py
index 86ece2e5..b4d7d2e8 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -3,7 +3,7 @@
# (C) 2006,2007 Guido Guenther <agx@sigxcpu.org>
"""handles command line and config file option parsing for the gbp commands"""
-from optparse import OptionParser
+from optparse import OptionParser, OptionGroup
from ConfigParser import SafeConfigParser
import os.path
from gbp.gbp_version import gbp_version
@@ -95,4 +95,19 @@ class GbpOptionParser(OptionParser):
default=self.get_default(option_name, **kwargs),
help=help % self.config, **kwargs)
+class GbpOptionGroup(OptionGroup):
+ def add_config_file_option(self, option_name, dest, help, **kwargs):
+ """
+ set a option for the command line parser, the default is read from the config file
+ @var option_name: name of the option
+ @type option_name: string
+ @var dest: where to store this option
+ @type dest: string
+ @var help: help text
+ @type help: string
+ """
+ OptionGroup.add_option(self, "--%s%s" % (self.parser.prefix, option_name), dest=dest,
+ default=self.parser.get_default(option_name, **kwargs),
+ help=help % self.parser.config, **kwargs)
+
# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: