コード例 #1
0
ファイル: base.py プロジェクト: NinjaComics/pybombs
def init_arg_parser(show_help_for=None, hide_hidden=True):
    """
    Create a base argument parser
    """
    def dummy_error(msg):
        raise PBException('parse error')
    cmd_list = get_cmd_list(hide_hidden=hide_hidden)
    # Set up global options:
    parser = argparse.ArgumentParser(
        description='PyBOMBS: A meta-package manager integrated with CGRAN.',
        epilog='Run `pybombs <command> --help to learn about command-specific options.',
    )
    config_manager.setup_parser(parser)
    subparsers = parser.add_subparsers(
        title='PyBOMBS subcommands',
        #description='valid subcommands',
        help="Description:",
        dest='command',
        metavar='<command>',
    )
    if hide_hidden:
        parser.error = dummy_error
    # Set up options for each command:
    for cmd in cmd_list:
        for cmd_name, cmd_help in iteritems(cmd.cmds):
            subparser = subparsers.add_parser(cmd_name, help=cmd_help, add_help=True)
            cmd.setup_subparser(subparser, cmd_name)
            if cmd_name == show_help_for:
                subparser.print_help()
                exit(0)
    return parser
コード例 #2
0
ファイル: base.py プロジェクト: vosgus/pybombs
def init_arg_parser(show_help_for=None, hide_hidden=True):
    """
    Create a base argument parser
    """
    def dummy_error(msg):
        raise PBException('parse error')

    cmd_list = get_cmd_list(hide_hidden=hide_hidden)
    # Set up global options:
    parser = argparse.ArgumentParser(
        description='PyBOMBS: A meta-package manager integrated with CGRAN.',
        epilog=
        'Run `pybombs <command> --help to learn about command-specific options.',
    )
    config_manager.setup_parser(parser)
    subparsers = parser.add_subparsers(
        title='PyBOMBS subcommands',
        #description='valid subcommands',
        help="Description:",
        dest='command',
        metavar='<command>',
    )
    if hide_hidden:
        parser.error = dummy_error
    # Set up options for each command:
    for cmd in cmd_list:
        for cmd_name, cmd_help in cmd.cmds.iteritems():
            subparser = subparsers.add_parser(cmd_name,
                                              help=cmd_help,
                                              add_help=True)
            cmd.setup_subparser(subparser, cmd_name)
            if cmd_name == show_help_for:
                subparser.print_help()
                exit(0)
    return parser