Exemplo n.º 1
0
def parse_args(docstring, argv=None, options_first=True):
    """Parse the command line options

    :param docstring: the docstring that will be parsed
    :param argv: the arguments. Defaults to sys.argv if this is not specified
    :returns: parsed options as dictionary
    """
    from jip.vendor.docopt import docopt
    argv = sys.argv[1:] if argv is None else argv
    return docopt(docstring, argv=argv, options_first=options_first)
Exemplo n.º 2
0
def parse_args(docstring, argv=None, options_first=True):
    """Parse the command line options

    :param docstring: the docstring that will be parsed
    :param argv: the arguments. Defaults to sys.argv if this is not specified
    :returns: parsed options as dictionary
    """
    from jip.vendor.docopt import docopt
    argv = sys.argv[1:] if argv is None else argv
    return docopt(docstring, argv=argv, options_first=options_first)
Exemplo n.º 3
0
def _main():
    version = str(jip.__version__)
    args = docopt(__doc__, version=version, options_first=True, help=True)
    if args['--loglevel']:
        log_level(args['--loglevel'])
    cmd = args['<command>']
    if not cmd:
        docopt(__doc__,
               version=version,
               options_first=True,
               argv=['--help'],
               help=True)
        sys.exit(1)

    try:
        import runpy
        argv = ["jip-" + cmd] + args['<args>']
        sys.argv = argv  # reset options
        runpy.run_module("jip.cli.jip_%s" % cmd, run_name="__main__")
    except ImportError:
        log.debug("Import error, trying command. Here is the exception:",
                  exc_info=True)
        # check interpreter mode
        import os
        if os.path.exists(cmd):
            import runpy
            argv = ["jip-interpreter"] + \
                ([] if not args['--pipeline'] else ['--pipeline']) + \
                [cmd] + args['<args>']
            sys.argv = argv  # reset options
            runpy.run_module("jip.cli.jip_interpreter", run_name="__main__")
        else:
            sys.stderr.write("\nCommand %s not found\n\n" % (cmd))
            docopt(__doc__,
                   version=version,
                   options_first=True,
                   argv=['--help'],
                   help=True)
            sys.exit(0)
    except KeyboardInterrupt:
        sys.exit(1)
Exemplo n.º 4
0
def _main():
    version = str(jip.__version__)
    args = docopt(__doc__, version=version,
                  options_first=True, help=True)
    if args['--loglevel']:
        log_level(args['--loglevel'])
    cmd = args['<command>']
    if not cmd:
        docopt(__doc__, version=version, options_first=True, argv=['--help'],
               help=True)
        sys.exit(1)

    try:
        import runpy
        argv = ["jip-" + cmd] + args['<args>']
        sys.argv = argv  # reset options
        runpy.run_module("jip.cli.jip_%s" % cmd, run_name="__main__")
    except ImportError:
        log.debug("Import error, trying command. Here is the exception:",
                  exc_info=True)
        # check interpreter mode
        import os
        if os.path.exists(cmd):
            import runpy
            argv = ["jip-interpreter"] + \
                ([] if not args['--pipeline'] else ['--pipeline']) + \
                [cmd] + args['<args>']
            sys.argv = argv  # reset options
            runpy.run_module("jip.cli.jip_interpreter", run_name="__main__")
        else:
            sys.stderr.write("\nCommand %s not found\n\n" % (cmd))
            docopt(__doc__, version=version, options_first=True,
                   argv=['--help'], help=True)
            sys.exit(0)
    except KeyboardInterrupt:
        sys.exit(1)