diff --git a/Meta/lint-ci.sh b/Meta/lint-ci.sh index 68d379d51c..69d96e406a 100755 --- a/Meta/lint-ci.sh +++ b/Meta/lint-ci.sh @@ -21,7 +21,8 @@ for cmd in \ Meta/lint-executable-resources.sh \ Meta/lint-ipc-ids.sh \ Meta/lint-shell-scripts.sh \ - Meta/lint-prettier.sh; do + Meta/lint-prettier.sh \ + Meta/lint-python.sh; do echo "Running ${cmd}... " if "${cmd}" "$@"; then echo -e "[${GREEN}OK${NC}]: ${cmd}" diff --git a/Meta/lint-python.sh b/Meta/lint-python.sh new file mode 100755 index 0000000000..790f2035e1 --- /dev/null +++ b/Meta/lint-python.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +set -e + +script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P) +cd "${script_path}/.." || exit 1 + +if ! command -v flake8 >/dev/null 2>&1 ; then + echo "flake8 is not available. Either skip this script, or install flake8." + exit 1 +fi + +if [ "$#" -eq "0" ]; then + mapfile -t files < <( + git ls-files '*.py' + ) +else + files=() + for file in "$@"; do + if [[ "${file}" == *".py" ]]; then + files+=("${file}") + fi + done +fi + +if (( ${#files[@]} )); then + flake8 "${files[@]}" --max-line-length=120 +else + echo "No py files to check." +fi