Skip to content

Commit 61c07b9

Browse files
committed
[SPARK-2627] add Python linter
This guy just runs the pep8 utility on all code in the python directory, minus cloudpickle, which is a 3rd-party library.
1 parent 75ad552 commit 61c07b9

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

dev/lint-python

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/usr/bin/env bash
2+
3+
#
4+
# Licensed to the Apache Software Foundation (ASF) under one or more
5+
# contributor license agreements. See the NOTICE file distributed with
6+
# this work for additional information regarding copyright ownership.
7+
# The ASF licenses this file to You under the Apache License, Version 2.0
8+
# (the "License"); you may not use this file except in compliance with
9+
# the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing, software
14+
# distributed under the License is distributed on an "AS IS" BASIS,
15+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
# See the License for the specific language governing permissions and
17+
# limitations under the License.
18+
#
19+
20+
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
21+
SPARK_ROOT_DIR="$(dirname $SCRIPT_DIR)"
22+
PEP8_REPORT_PATH="$SPARK_ROOT_DIR/dev/pep8-report.txt"
23+
24+
cd $SPARK_ROOT_DIR
25+
# There is no need to write this output to a file
26+
#+ first, but we do so so that the check status can
27+
#+ be output before the report, like with the
28+
#+ scalastyle and RAT checks.
29+
pep8 ./python --exclude="cloudpickle.py" \
30+
> "$PEP8_REPORT_PATH"
31+
pep8_status=${PIPESTATUS[0]} #$?
32+
33+
if [ $pep8_status ]
34+
then
35+
echo "PEP8 checks failed."
36+
cat "$PEP8_REPORT_PATH"
37+
exit 1
38+
else
39+
echo "PEP8 checks passed."
40+
fi
41+
42+
rm -f "$PEP8_REPORT_PATH"

0 commit comments

Comments
 (0)