Some distributions provide python2 version of pylint package by default, but all provide pylint for python3 in some package. Python 2 reaches EOL in few months, so there's no reason to support it. This prevents our scripts from being accidentally marked invalid due to language changes between python 2 and 3. Also, newer pylint has nicer output, that provides exact module filename straight in the warning.
33 lines
915 B
Bash
Executable file
33 lines
915 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# Copyright (c) 2019 Patryk Obara <patryk.obara@gmail.com>
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
# This script exists only to easily run python static checker on all files in
|
|
# the repo. You can pass additional parameters to this script itself, e.g.:
|
|
#
|
|
# $ ./verify-python.sh --disable=<msg_ids>
|
|
#
|
|
# This script uses exclusively python3 version of pylint; most distributions
|
|
# provide it in a package pylint, but some call it pylint3 or python3-pylint.
|
|
|
|
set -e
|
|
|
|
list_python_files () {
|
|
git ls-files \
|
|
| xargs file \
|
|
| grep "Python script" \
|
|
| cut -d ':' -f 1
|
|
}
|
|
|
|
main () {
|
|
# Using "python3 -m pylint" to avoid using python2-only
|
|
# version of pylint by mistake.
|
|
python3 -m pylint --version >&2
|
|
echo "Checking files:" >&2
|
|
list_python_files >&2
|
|
local -r rc="$(git rev-parse --show-toplevel)/.pylint"
|
|
list_python_files | xargs -L 1000 python3 -m pylint --rcfile="$rc" "$@"
|
|
}
|
|
|
|
main "$@"
|