示例#1
0
def _build_parser():
    cmdname = _find_command()

    if cmdname is not None and not commands.has_command(cmdname):
        raise CommandLineError('unknown command: %s (see --help)' %
                               (cmdname, ))

    config = _make_config(cmdname)

    cmd = commands.get_command(cmdname) if cmdname is not None else None

    # Epilog newlines/formatting is squashed by option parser. Something else
    # to fix.
    if cmdname is None:
        epilog = (["Available commands: "] +
                  [cmd.name for cmd in sorted(commands.all_commands())])
        usage = '%prog <command> [args] [options]'
    else:
        epilog = ['%s: %s' % (cmdname, cmd.__doc__)]
        usage = '%%prog %s [args] [options]' % (cmdname, )

    parser = optparse.OptionParser(usage=usage, epilog=' '.join(epilog))

    for opt in config.options().itervalues():
        opt.populate_optparser(parser)

    return parser
示例#2
0
def _build_parser():
    cmdname = _find_command()

    if cmdname is not None and not commands.has_command(cmdname):
        raise CommandLineError('unknown command: %s (see --help)' % (cmdname,))

    config = _make_config(cmdname)

    cmd = commands.get_command(cmdname) if cmdname is not None else None

    # Epilog newlines/formatting is squashed by option parser. Something else
    # to fix.
    if cmdname is None:
        epilog = ([ "Available commands: " ] +
                  [ cmd.name for cmd in sorted(commands.all_commands()) ])
        usage = '%prog <command> [args] [options]'
    else:
        epilog = ['%s: %s' % (cmdname, cmd.__doc__)]
        usage = '%%prog %s [args] [options]' % (cmdname,)

    parser = optparse.OptionParser(usage=usage,
                                   epilog=' '.join(epilog))

    for opt in config.options().itervalues():
        opt.populate_optparser(parser)

    return parser
示例#3
0
def _interpret_cmdline(options, args):
    cmdname = _find_command()

    # should use guaranteed-same as parser builder
    config = _make_config(cmdname)

    given_options = []
    for opt in config.options().itervalues():
        longopt = opt.interpret_optparser_options(options)
        if longopt is not None:
            given_options.append(longopt)

    return (cmdname, args[1:], given_options, config)
示例#4
0
def _interpret_cmdline(options, args):
    cmdname = _find_command()

    # should use guaranteed-same as parser builder
    config = _make_config(cmdname)

    given_options = []
    for opt in config.options().itervalues():
        longopt = opt.interpret_optparser_options(options)
        if longopt is not None:
            given_options.append(longopt)

    return (cmdname, args[1:], given_options, config)