If you set this up and remember to invoke config.parse(), all commandline
arguments will play nicely together. This is done automatically for you
- if you're using the bootstrap module's initialize wrapper.::
+ if you're using the :meth:`bootstrap.initialize` decorator on
+ your program's entry point. See :meth:`python_modules.bootstrap.initialize`
+ for more details.::
+
+ import bootstrap
+
+ @bootstrap.initialize
+ def main():
+ whatever
+
+ if __name__ == '__main__':
+ main()
+
+ Either way, you'll get this behavior from the commandline::
% main.py -h
usage: main.py [-h]
return reordered_action_groups
+def print_usage() -> None:
+ """Prints the normal help usage message out."""
+ ARGS.print_help()
+
+
+def usage() -> str:
+ """
+ Returns:
+ program usage help text as a string.
+ """
+ return ARGS.format_usage()
+
+
def _augment_sys_argv_from_environment_variables():
"""Internal. Look at the system environment for variables that match
arg names. This is done via some munging such that:
"""
- usage_message = ARGS.format_usage()
+ usage_message = usage()
optional = False
var = ''
for x in usage_message.split():