__main__.py 文件源码

python
阅读 56 收藏 0 点赞 0 评论 0

项目:camisole 作者: prologin 项目源码 文件源码
def main():
    parser = argparse.ArgumentParser(
        description="asyncio-based source compiler and test runner")
    parser.add_argument(
        '-c',
        '--conf',
        type=argparse.FileType('r'),
        help="custom yaml configuration file to use")
    parser.add_argument(
        '-l',
        '--logging',
        choices=[l.lower() for l in logging._nameToLevel],
        help="logging level (overrides root logger level from file conf)")

    cmd = parser.add_subparsers(dest='command')
    commands = dict(getattr(module, 'build')(cmd)
                    for module in (languages, test, serve, benchmark))
    args = parser.parse_args()

    if args.conf:
        # merge user defined conf
        conf.merge(yaml.load(args.conf))

    # default logging config from conf
    logging.config.dictConfig(conf['logging'])

    if args.logging:
        # override root logger level
        logging.root.setLevel(args.logging.upper())

    # import built-in languages
    load_builtins()
    # import user languages from environ
    load_from_environ()

    try:
        func = commands[args.command]
    except KeyError:
        parser.error("missing command")
    else:
        sys.exit(func(args))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号