ClickHouse/utils/check-style/check-black
2022-07-21 17:01:42 +02:00

20 lines
627 B
Bash
Executable File

#!/usr/bin/env bash
set -e
# We check only our code, that's why we skip contrib
GIT_ROOT=$(git rev-parse --show-cdup)
GIT_ROOT=${GIT_ROOT:-.}
tmp=$(mktemp)
# Find all *.py files in the repo except the contrib directory
find_cmd=(find "$GIT_ROOT" -name '*.py' -not -path "$GIT_ROOT/contrib/*")
if ! "${find_cmd[@]}" -exec black --check --diff {} + 1>"$tmp" 2>&1; then
# Show the result only if some files need formatting
cat "$tmp"
# Apply formatting
"${find_cmd[@]}" -exec black {} + 1>/dev/null 2>&1
# Automatically add changed files to stage
"${find_cmd[@]}" -exec git add -u {} + 1>/dev/null 2>&1
fi
rm "$tmp"