pylint-full.py should now be windows compatible

This commit is contained in:
Jeppe Klitgaard 2015-04-06 01:36:06 +02:00
parent e31bfb58f0
commit 70c381d9f4
2 changed files with 29 additions and 15 deletions

View File

@ -7,12 +7,14 @@ this program will exit with exit code 1.
__doc__ = DOCSTR
from sh import pylint
from sh import ErrorReturnCode
import subprocess
import os
import sys
import re
import argparse
os.chdir("..") # leave bin/
parser = argparse.ArgumentParser(DOCSTR)
parser.add_argument("--min-eval", dest="min_eval", type=float, default=10.00,
@ -22,20 +24,32 @@ parser.add_argument("--min-eval", dest="min_eval", type=float, default=10.00,
args = parser.parse_args()
PYLINT_ARGS = ("minecraft", "--disable=E")
PYLINT = ("pylint", "minecraft", "--disable=E")
EVAL_PATTERN = (r"Global evaluation\n-----------------\n"
r"Your code has been rated at (\d*\.\d+)/10")
try:
output = pylint(*PYLINT_ARGS)
except ErrorReturnCode as e:
output = e.stdout
output = output.decode()
global_eval_pattern = re.compile(r"Global evaluation\n-----------------\n"
r"Your code has been rated at (\d*\.\d+)/10")
def get_evaluation_score_and_output():
"""
Returns a tuple containing ``(output, eval_score)`` where:
``output`` is a ``str`` with the pylint output.
``eval_score`` is a ``float`` with the pylint evaluation score
"""
try:
output = subprocess.check_output(PYLINT)
except subprocess.CalledProcessError as e:
output = e.output
output = output.decode()
match = global_eval_pattern.search(output)
evaluation = float(match.group(1))
global_eval_pattern = re.compile(EVAL_PATTERN)
match = global_eval_pattern.search(output)
evaluation = float(match.group(1))
return (output, evaluation)
output, evaluation = get_evaluation_score_and_output()
print(output) # We want to appear as if we're pylint
if evaluation < args.min_eval:

View File

@ -36,7 +36,7 @@ deps =
[testenv:flake8]
basepython = python3.4
commands =
flake8 minecraft tests bin/*.py setup.py start.py
flake8 minecraft tests setup.py
deps =
{[testenv]deps}
flake8
@ -53,9 +53,9 @@ basepython = python3.4
deps =
{[testenv]deps}
pylint
sh
changedir = bin
commands =
python {toxinidir}/bin/pylint-full.py --min-eval=9.5
python pylint-full.py --min-eval=9.5
[testenv:docs]
basepython = python3.4