diff --git a/gimmecert/cli.py b/gimmecert/cli.py index 908f794f4fb03e2ff9ac0af5e79b22cefdbd7da0..218f4112b2f7c91491c2d86e7748354d695f4fd9 100644 --- a/gimmecert/cli.py +++ b/gimmecert/cli.py @@ -21,6 +21,8 @@ import argparse +from .decorators import subcommand_parser, get_subcommand_parser_setup_functions + DESCRIPTION = """\ Issues server and client X.509 certificates using a local CA @@ -30,6 +32,15 @@ Examples: """ +@subcommand_parser +def setup_help_subcommand_parser(parser, subparsers): + subparser = subparsers.add_parser('help', description='shows help') + + subparser.set_defaults(func=lambda args: parser.print_help()) + + return subparser + + def get_parser(): """ Sets-up and returns a CLI argument parser. @@ -41,6 +52,11 @@ def get_parser(): parser.set_defaults(func=lambda args: parser.print_usage()) + subparsers = parser.add_subparsers() + + for setup_subcommad_parser in get_subcommand_parser_setup_functions(): + setup_subcommad_parser(parser, subparsers) + return parser