summaryrefslogtreecommitdiff
path: root/cliapp/settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'cliapp/settings.py')
-rw-r--r--cliapp/settings.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/cliapp/settings.py b/cliapp/settings.py
index b58a3e7..b2d0abb 100644
--- a/cliapp/settings.py
+++ b/cliapp/settings.py
@@ -410,7 +410,8 @@ class Settings(object):
return name
def build_parser(self, configs_only=False, arg_synopsis=None,
- cmd_synopsis=None, deferred_last=[], all_options=False):
+ cmd_synopsis=None, deferred_last=[], all_options=False,
+ add_help_option=True):
'''Build OptionParser for parsing command line.'''
# Call a callback function unless we're in configs_only mode.
@@ -440,7 +441,8 @@ class Settings(object):
formatter=FormatHelpParagraphs(),
usage=usage,
description=description,
- epilog=self.epilog)
+ epilog=self.epilog,
+ add_help_option=add_help_option)
# Create all OptionGroup objects. This way, the user code can
# add settings to built-in option groups.
@@ -555,11 +557,12 @@ class Settings(object):
sys.stdout.write(pp.format_help())
sys.exit(0)
- config_group.add_option(
- '--help-all',
- action='callback',
- help='show all options',
- callback=defer_last(maybe(help_all)))
+ if add_help_option:
+ config_group.add_option(
+ '--help-all',
+ action='callback',
+ help='show all options',
+ callback=defer_last(maybe(help_all)))
# Add other options, from the user-defined and built-in
# settingses.
@@ -623,7 +626,7 @@ class Settings(object):
def parse_args(self, args, parser=None, suppress_errors=False,
configs_only=False, arg_synopsis=None,
cmd_synopsis=None, compute_setting_values=None,
- all_options=False):
+ all_options=False, add_help_option=True):
'''Parse the command line.
Return list of non-option arguments. ``args`` would usually
@@ -637,7 +640,8 @@ class Settings(object):
arg_synopsis=arg_synopsis,
cmd_synopsis=cmd_synopsis,
deferred_last=deferred_last,
- all_options=all_options)
+ all_options=all_options,
+ add_help_option=add_help_option)
if suppress_errors:
p.error = lambda msg: sys.exit(1)