Beispiel #1
0
def main(argv=None):
    dsc.main(
        'cosmic-ray',
        'cosmic-ray v.2',
        argv=argv,
        doc_template=DOC_TEMPLATE,
        common_option_handler=common_option_handler)
Beispiel #2
0
    def test_help_for_unknown_command_displays_usage(self, capsys):
        try:
            dsc.main(program='prog', argv=['llamas'], exit_at_end=False)
        except SystemExit:
            pass

        out, _ = capsys.readouterr()
        assert out == UNKNOWN_COMMAND_TEMPLATE.format('llamas')
    def test_extract_subcommand_name_from_docstring(self, capsys):
        @dsc.command()
        def foo_handler(args):
            "usage: {program} foo"
            pass

        try:
            dsc.main(program='prog', argv=['foo', '-h'], exit_at_end=False)
        except SystemExit:
            pass

        out, err = capsys.readouterr()
        assert out == "usage: prog foo\n"
    def test_default_subcommand_help(self, capsys):
        @dsc.command('foo')
        def foo_handler(args):
            "usage: {program} {command}"
            pass

        try:
            dsc.main(program='prog', argv=['foo', '-h'], exit_at_end=False)
        except SystemExit:
            pass

        out, err = capsys.readouterr()
        assert out == "usage: prog foo\n"
Beispiel #5
0
def main(argv=None):
    """ Invoke the cosmic ray evaluation.

    :param argv: the command line arguments
    """
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    if hasattr(signal, 'SIGINFO'):
        signal.signal(getattr(signal, 'SIGINFO'),
                      lambda *args: report_progress(sys.stderr))

    try:
        return dsc.main('cosmic-ray',
                        'Cosmic Ray {}'.format(__version__),
                        argv=argv,
                        doc_template=DOC_TEMPLATE,
                        common_option_handler=common_option_handler,
                        exit_at_end=False)
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return os.EX_USAGE
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return os.EX_NOINPUT
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return os.EX_NOPERM
    except ConfigError as exc:
        print(exc, file=sys.stderr)
        return os.EX_CONFIG
Beispiel #6
0
def main(args=None):
    if args is None:
        args = sys.argv[1:]

    return dsc.main(program='ultan',
                    version='ultan v{}'.format(version.__version__),
                    argv=args)
Beispiel #7
0
def main(argv=None):
    try:
        return dsc.main(program='eseries',
                        version='E-Series {}'.format(__version__),
                        argv=argv,
                        doc_template=DOC_TEMPLATE,
                        exit_at_end=False)
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return os.EX_USAGE
    except ValueError as exc:
        print(exc, file=sys.stderr)
        return os.EX_DATAERR
Beispiel #8
0
def main(argv=None):
    try:
        return dsc.main(
            program='eseries',
            argv=argv,
            doc_template=DOC_TEMPLATE,
            exit_at_end=False)
    except (docopt.DocoptExit, SystemExit) as exc:
        print(exc, file=sys.stderr)
        return os.EX_USAGE
    except ValueError as exc:
        print(exc, file=sys.stderr)
        return os.EX_DATAERR
Beispiel #9
0
def main():
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    try:
        return dsc.main(program='spor', version='spor v0.0.0')
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return os.EX_USAGE
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return os.EX_NOINPUT
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return os.EX_NOPERM
Beispiel #10
0
def main():
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    try:
        return dsc.main(program='spor',
                        version='spor v{}'.format(spor.version.__version__))
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return ExitCode.USAGE
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NOINPUT
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NOPERM
    except ExitError as exc:
        print(exc, file=sys.stderr)
        return exc.code
Beispiel #11
0
def main(argv=None):
    """ Invoke the cosmic ray evaluation.

    :param argv: the command line arguments
    """
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    if hasattr(signal, 'SIGINFO'):
        signal.signal(
            getattr(signal, 'SIGINFO'),
            lambda *args: report_progress(sys.stderr))

    try:
        return docopt_subcommands.main(
            commands=dsc,
            argv=argv,
            doc_template=DOC_TEMPLATE,
            exit_at_end=False)
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return ExitCode.USAGE
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NO_INPUT
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NO_PERM
    except cosmic_ray.config.ConfigError as exc:
        print(repr(exc), file=sys.stderr)
        if exc.__cause__ is not None:
            print(exc.__cause__, file=sys.stderr)
        return ExitCode.CONFIG
    except subprocess.CalledProcessError as exc:
        print('Error in subprocess', file=sys.stderr)
        print(exc, file=sys.stderr)
        return exc.returncode
Beispiel #12
0
def main(argv=None):
    """ Invoke the cosmic ray evaluation.

    :param argv: the command line arguments
    """
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    if hasattr(signal, 'SIGINFO'):
        signal.signal(getattr(signal, 'SIGINFO'),
                      lambda *args: report_progress(sys.stderr))

    try:
        return dsc.main('cosmic-ray',
                        'Cosmic Ray {}'.format(__version__),
                        argv=argv,
                        doc_template=DOC_TEMPLATE,
                        common_option_handler=common_option_handler,
                        exit_at_end=False)
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return ExitCode.Usage
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NoInput
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NoPerm
    except ConfigError as exc:
        print(exc, file=sys.stderr)
        if exc.__cause__ is not None:
            print(exc.__cause__, file=sys.stderr)
        return ExitCode.Config
    except subprocess.CalledProcessError as exc:
        print('Error in subprocess', file=sys.stderr)
        print(exc, file=sys.stderr)
        return exc.returncode
Beispiel #13
0
def main(argv=None):
    """ Invoke the cosmic ray evaluation.

    :param argv: the command line arguments
    """
    signal.signal(
        signal.SIGINT,
        lambda *args: sys.exit(_SIGNAL_EXIT_CODE_BASE + signal.SIGINT))

    if hasattr(signal, 'SIGINFO'):
        signal.signal(getattr(signal, 'SIGINFO'),
                      lambda *args: report_progress(sys.stderr))

    try:
        return docopt_subcommands.main(commands=dsc,
                                       argv=argv,
                                       doc_template=DOC_TEMPLATE,
                                       exit_at_end=False)
    except docopt.DocoptExit as exc:
        print(exc, file=sys.stderr)
        return ExitCode.USAGE
    except FileNotFoundError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NO_INPUT
    except PermissionError as exc:
        print(exc, file=sys.stderr)
        return ExitCode.NO_PERM
    except cosmic_ray.config.ConfigError as exc:
        print(repr(exc), file=sys.stderr)
        if exc.__cause__ is not None:
            print(exc.__cause__, file=sys.stderr)
        return ExitCode.CONFIG
    except subprocess.CalledProcessError as exc:
        print('Error in subprocess', file=sys.stderr)
        print(exc, file=sys.stderr)
        return exc.returncode
Beispiel #14
0
def main(argv=None):
    dsc.main('cosmic-ray',
             'cosmic-ray v.2',
             argv=argv,
             doc_template=DOC_TEMPLATE,
             common_option_handler=common_option_handler)
# 1. Create a Subcommands object with a program name and version string.
sc = docopt_subcommands.Subcommands('docopt-subcommand-example', )


# 2. Define your handlers without registering them yet.
def foo_handler(_, args):
    """usage: {program} {command} <name>

    Apply foo to a name.
    """
    print("Foo, {}".format(args['<name>']))


def bar_handler(_, args):
    """usage: {program} {command} <name>

    Apply bar to a name.
    """
    print("Bar, {}".format(args['<name>']))


# 3. Register your handlers and associated command names with
# `Subcommands.add_command()`.
sc.add_command(foo_handler, 'foo')
sc.add_command(bar_handler, 'bar')

# 4. Pass the Subcommands object to `main` via the `commands` keyword argument
# to run a program with the subcommands you defined with `add_command()`.
docopt_subcommands.main(commands=sc)
# Just like basic_example.py except we pass the subcommand names to the
# `command` decorator rather than embed them in the docstring.

import docopt_subcommands as dsc


# 1. Use the `command` decorator to add subcommands functions.
@dsc.command('foo')
def foo_handler(_, args):
    """usage: {program} {command} <name>

    Apply foo to a name.
    """
    print("Foo, {}".format(args['<name>']))


@dsc.command('bar')
def bar_handler(_, args):
    """usage: {program} {command} <name>

    Apply bar to a name.
    """
    print("Bar, {}".format(args['<name>']))


# 2. Pass a program name and version string to `main` to run a program with the
# subcommands you defined with the decorators above.
dsc.main('docopt-subcommand-example', )
Beispiel #17
0
def csmain():
    main(sys.argv[0], _package_version)
Beispiel #18
0
    
    Options:
        -c CONFFILE, --config CONFFILE      path to configuration file
    """
    config = Config(options.get('--config'))

    case_provider = framework.InterfaceCaseProvider(
        config.interface_dir,
        config.service_name,
    )
    from intercom_test import http_best_matches
    database = http_best_matches.Database(
        case_provider.cases(),
        add_request_keys=config.request_keys,
    )

    for line in sys.stdin:
        database.json_exchange(line, sys.stdout)


def csmain():
    main(sys.argv[0], _package_version)


if __name__ == '__main__':
    my_name = os.path.splitext(os.path.basename(__file__))[0]

    # NOTE: Cannot use "python -m{}.{}" as the format string because docopt
    # interprets the "-m..." as flags to the program.
    main("{}.{}".format(_package, my_name), _package_version)
        print('version!')
        return
    if precommand_args['--verbose']:
        print('[verbose mode]')
    print("Foo, {}".format(args['<name>']))


@dsc.command('bar')
def bar_handler(precommand_args, args):
    """usage: {program} {command} [options] <name>

    Apply bar to a name.

    Options:
      --fnord    Insert a fnord
    """
    if precommand_args['--version']:
        print('version!')
        return

    if precommand_args['--verbose']:
        print('[verbose mode]')

    print("Bar, {}".format(args['<name>']))
    if args['--fnord']:
        print('fnord')


# 5. Pass out Subcommands subclass instance to `main()`.
main(commands=dsc)
Beispiel #20
0
def run(args):
    dsc.main(app_name,
             f'{app_name} {__version__}',
             argv=args,
             exit_at_end=False)
 def test_default_top_level_help(self):
     try:
         dsc.main(program='prog', argv=[], exit_at_end=False)
     except docopt.DocoptExit as e:
         assert e.usage == "Usage: prog [options] <command> [<args> ...]"
Beispiel #22
0
def main():
    dsc.main(program='jade', version='jade v1')
Beispiel #23
0
def parse_and_run(args):
    dsc.main(app_name, f'{app_name} {version}', argv=args, exit_at_end=False)