aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Guenther <agx@sigxcpu.org>2008-07-17 13:39:02 -0230
committerGuido Guenther <agx@sigxcpu.org>2008-07-17 13:39:02 -0230
commit4ca26f7dad8bcefd015b9d3b2fea803967fa5814 (patch)
treea6b4ee1e99ba896e907b1abd5f32bd447646421a
parentfb94fea0c22252b45a02e9a98883fa44581042a9 (diff)
add GbpOptionParser.get_defaults()
so we can get the default of options independently
-rw-r--r--gbp/config.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/gbp/config.py b/gbp/config.py
index b9948aca..86ece2e5 100644
--- a/gbp/config.py
+++ b/gbp/config.py
@@ -71,6 +71,16 @@ class GbpOptionParser(OptionParser):
self.__parse_config_files()
OptionParser.__init__(self, usage=usage, version='%s %s' % (self.command, gbp_version))
+ def get_default(self, option_name, **kwargs):
+ default = self.config[option_name]
+ if kwargs.has_key('action'):
+ if kwargs['action'] in [ 'store_true', 'store_false' ] and self.config[option_name]:
+ if self.config[option_name] in [ 'True', 'False' ]:
+ default = eval(self.config[option_name])
+ else:
+ raise ValueError, "Boolean options must be True or False"
+ return default
+
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
@@ -81,15 +91,8 @@ class GbpOptionParser(OptionParser):
@var help: help text
@type help: string
"""
- default = self.config[option_name]
- if kwargs.has_key('action'):
- if kwargs['action'] in [ 'store_true', 'store_false'] and self.config[option_name]:
- if self.config[option_name] in [ 'True', 'False' ]:
- default = eval(self.config[option_name])
- else:
- raise ValueError, "Boolean options must be True or False"
- OptionParser.add_option(self,"--%s%s" % (self.prefix, option_name), dest=dest,
- default=default,
+ OptionParser.add_option(self, "--%s%s" % (self.prefix, option_name), dest=dest,
+ default=self.get_default(option_name, **kwargs),
help=help % self.config, **kwargs)
# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: