#!/bin/bash # Copyright (C) 1994-2017 Altair Engineering, Inc. # For more information, contact Altair at www.altair.com. # # This file is part of the PBS Professional ("PBS Pro") software. # # Open Source License Information: # # PBS Pro is free software. You can redistribute it and/or modify it under the # terms of the GNU Affero General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) any # later version. # # PBS Pro is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License along # with this program. If not, see . # # Commercial License Information: # # The PBS Pro software is licensed under the terms of the GNU Affero General # Public License agreement ("AGPL"), except where a separate commercial license # agreement for PBS Pro version 14 or later has been executed in writing with Altair. # # Altair’s dual-license business model allows companies, individuals, and # organizations to create proprietary derivative works of PBS Pro and distribute # them - whether embedded or bundled with other software - under a commercial # license agreement. # # Use of Altair’s trademarks, including but not limited to "PBS™", # "PBS Professional®", and "PBS Pro™" and Altair’s logos is subject to Altair's # trademark licensing policies. checkdir="$(readlink -f $(dirname $0))" errors=0 which pep8 1>/dev/null 2>/dev/null if [ $? -ne 0 ]; then echo "Could not find pep8 command" 1>&2 exit 1 fi cd ${checkdir}/.. is_python_file() { name=$(basename ${1}) # special case # if .rst file then it will be considered # as a plain text file if [ "x${name##*.}" == "xrst" ]; then return 1 fi # special case # if __init__.py does not contain any code then file # command will consider it as plain text file if [ "x${name}" == "x__init__.py" ]; then return 0 fi if [ "x$(file --mime-type -b ${1})" == "xtext/x-python" ]; then return 0 fi return 1 } check_pep8() { pep8 --show-source ${1} >out_check_pep8 2>&1 return $? } for f in $(find test -type f) do if is_python_file ${f} then if ! check_pep8 ${f} then cat out_check_pep8 1>&2 rm -f out_check_pep8 errors=$((errors + 1)) fi if [ -x "${f}" ]; then echo "${f}: executable bit set" 1>&2 errors=$((errors + 1)) fi fi done if [ ${errors} -ne 0 ]; then exit 1 else exit 0 fi