Add in a helper that is useful for running pep8/pylint
This commit is contained in:
53
checks.sh
Executable file
53
checks.sh
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -u
|
||||||
|
|
||||||
|
function find_src {
|
||||||
|
files=`find bin cloudinit -type f | grep "py\$"`
|
||||||
|
echo $files
|
||||||
|
}
|
||||||
|
|
||||||
|
function run_pep8 {
|
||||||
|
echo "Running pep8 ..."
|
||||||
|
files=$(find_src)
|
||||||
|
ignores="E202,E501"
|
||||||
|
output_filename="pep8.log"
|
||||||
|
opts="--ignore=$ignores --repeat"
|
||||||
|
pep8 ${opts} ${files} 2>&1 > $output_filename
|
||||||
|
if [ "$?" -ne "0" ]; then
|
||||||
|
echo "Some badness was found!"
|
||||||
|
fi
|
||||||
|
echo "Check '$output_filename' for a full report."
|
||||||
|
}
|
||||||
|
|
||||||
|
function run_pylint {
|
||||||
|
echo "Running pylint ..."
|
||||||
|
opts="--rcfile=pylintrc --output-format=parseable"
|
||||||
|
files=$(find_src)
|
||||||
|
output_filename="pylint.log"
|
||||||
|
pylint ${opts} ${files} 2>&1 > $output_filename
|
||||||
|
if [ "$?" -eq "1" ]; then
|
||||||
|
# pylint --long-help
|
||||||
|
# * 0 if everything went fine
|
||||||
|
# * 1 if a fatal message was issued
|
||||||
|
# * 2 if an error message was issued
|
||||||
|
# * 4 if a warning message was issued
|
||||||
|
# * 8 if a refactor message was issued
|
||||||
|
# * 16 if a convention message was issued
|
||||||
|
# * 32 on usage error
|
||||||
|
echo "A fatal pylint error occurred!"
|
||||||
|
else
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
echo "Your code is perfect you code master!"
|
||||||
|
else
|
||||||
|
echo "You are not yet a code master."
|
||||||
|
grep -i "Your code" $output_filename
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Check '$output_filename' for a full report."
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
run_pep8
|
||||||
|
run_pylint
|
||||||
|
|
||||||
42
pylintrc
Normal file
42
pylintrc
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# The format of this file isn't really documented; just use --generate-rcfile
|
||||||
|
|
||||||
|
[Master]
|
||||||
|
|
||||||
|
[Messages Control]
|
||||||
|
|
||||||
|
# http://pylint-messages.wikidot.com/all-codes
|
||||||
|
# NOTE(justinsb): We might want to have a 2nd strict pylintrc in future
|
||||||
|
# C0111: Don't require docstrings on every method
|
||||||
|
# R0912: Too many branches (huh)
|
||||||
|
# R0914: Too many local variables is odd.
|
||||||
|
# W0142: *args and **kwargs are fine.
|
||||||
|
# W0511: TODOs in code comments are fine.
|
||||||
|
# W0613: Unused argument '??' should be ok (they are useful sometimes to know intention of variable)
|
||||||
|
# W0622: Redefining id is fine.
|
||||||
|
disable=C0111,W0142,W0622,C0301,R0902,R0201,R0914,W0613,R0912,R0801
|
||||||
|
|
||||||
|
[Basic]
|
||||||
|
|
||||||
|
# Variable names can be 1 to 31 characters long, with lowercase and underscores
|
||||||
|
variable-rgx=[a-z_][a-z0-9_]{0,30}$
|
||||||
|
|
||||||
|
# Argument names can be 2 to 31 characters long, with lowercase and underscores
|
||||||
|
argument-rgx=[a-z_][a-z0-9_]{1,30}$
|
||||||
|
|
||||||
|
# Method names should be at least 3 characters long
|
||||||
|
# and be lowercased with underscores
|
||||||
|
method-rgx=([a-z_][a-z0-9_]{2,50}|setUp|tearDown)$
|
||||||
|
|
||||||
|
# Don't require docstrings on tests.
|
||||||
|
no-docstring-rgx=((__.*__)|([tT]est.*)|setUp|tearDown)$
|
||||||
|
|
||||||
|
[Design]
|
||||||
|
|
||||||
|
max-public-methods=100
|
||||||
|
min-public-methods=0
|
||||||
|
max-args=6
|
||||||
|
|
||||||
|
[Variables]
|
||||||
|
|
||||||
|
# List of additional names supposed to be defined in builtins. Remember that
|
||||||
|
# you should avoid to define new builtins when possible.
|
||||||
Reference in New Issue
Block a user