mirror of https://github.com/openXC7/prjxray.git
46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2017-2020 The Project X-Ray Authors.
|
|
#
|
|
# Use of this source code is governed by a ISC-style
|
|
# license that can be found in the LICENSE file or at
|
|
# https://opensource.org/licenses/ISC
|
|
#
|
|
# SPDX-License-Identifier: ISC
|
|
|
|
echo
|
|
echo "==================================="
|
|
echo "Check Python UTF coding and shebang"
|
|
echo "==================================="
|
|
echo
|
|
|
|
ERROR_FILES_SHEBANG=""
|
|
ERROR_FILES_UTF_CODING=""
|
|
FILES_TO_CHECK=`find . \
|
|
-size +0 -type f \( -name '*.py' \) \
|
|
\( -not -path "*/.*/*" -not -path "*/third_party/*" -not -path "*/env/*" \)`
|
|
|
|
for file in $FILES_TO_CHECK; do
|
|
echo "Checking $file"
|
|
if [[ -x $file ]]; then
|
|
grep -q "\#\!/usr/bin/env python3" $file || ERROR_FILES_SHEBANG="$ERROR_FILES_SHEBANG $file"
|
|
fi
|
|
grep -q "\#.*coding: utf-8" $file || ERROR_FILES_UTF_CODING="$ERROR_FILES_UTF_CODING $file"
|
|
done
|
|
|
|
if [ ! -z "$ERROR_FILES_SHEBANG" ]; then
|
|
for file in $ERROR_FILES_SHEBANG; do
|
|
echo "ERROR: $file does not have the python3 shebang."
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -z "$ERROR_FILES_UTF_CODING" ]; then
|
|
for file in $ERROR_FILES_UTF_CODING; do
|
|
echo "ERROR: $file does not have the UTF encoding set."
|
|
echo "Add # coding: utf-8"
|
|
done
|
|
exit 1
|
|
fi
|
|
|
|
echo
|