diff options
Diffstat (limited to 'cliapp/settings.py')
-rw-r--r-- | cliapp/settings.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/cliapp/settings.py b/cliapp/settings.py index 298cd6a..41a5670 100644 --- a/cliapp/settings.py +++ b/cliapp/settings.py @@ -456,7 +456,8 @@ class Settings(object): return name def build_parser(self, configs_only=False, arg_synopsis=None, - cmd_synopsis=None, deferred_last=None, all_options=False): + cmd_synopsis=None, deferred_last=None, all_options=False, + add_help_option=True): '''Build OptionParser for parsing command line.''' # Call a callback function unless we're in configs_only mode. @@ -485,7 +486,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. @@ -605,11 +607,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. @@ -673,7 +676,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 @@ -687,7 +690,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) |