pylintcmd.py 文件源码

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

项目:acsoo 作者: acsone 项目源码 文件源码
def do_pylintcmd(load_plugins, rcfile, module, expected, pylint_options):
    # import pdb; pdb.set_trace()
    if not module:
        module = []
        candidate_addons_dirs = (
            opj('odoo', 'addons'),
            'odoo_addons',
            '.',
        )
        for candidate_addons_dir in candidate_addons_dirs:
            if os.path.isdir(candidate_addons_dir):
                module.extend(
                    opj(candidate_addons_dir, addon) for addon in
                    get_installable_addons(candidate_addons_dir)
                )
        if not module:
            raise click.UsageError("Please provide module or package "
                                   "to lint (--module).")
    cmd = [
        '--load-plugins', load_plugins,
        '--rcfile', rcfile,
    ] + list(pylint_options) + list(module)
    log_cmd(['pylint'] + cmd, level=logging.INFO)
    lint_res = pylint.lint.Run(cmd[:], exit=False)
    sys.stdout.flush()
    sys.stderr.flush()
    expected = _consolidate_expected(rcfile, expected)
    fails, no_fails = _get_failures(lint_res.linter.stats, expected)
    if fails or no_fails:
        msg = cmd_string(['pylint'] + cmd)
        msg += '\n'
        msg += _failures_to_str(fails, no_fails)
        click.echo('\n')
        click.echo(msg)
    if fails:
        raise click.ClickException("pylint errors detected.")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号