53 lines
1.1 KiB
Bash
53 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
#######################################
|
|
|
|
required_command="yapf unexpand"
|
|
code_directories="pina tests"
|
|
|
|
#######################################
|
|
|
|
usage() {
|
|
echo
|
|
echo -e "\tUsage: $0 [files]"
|
|
echo
|
|
echo -e "\tIf not files are specified, script formats all ".py" files"
|
|
echo -e "\tin code directories ($code_directories); otherwise, formats"
|
|
echo -e "\tall given files"
|
|
echo
|
|
echo -e "\tRequired command: $required_command"
|
|
echo
|
|
exit 0
|
|
}
|
|
|
|
|
|
[[ $1 == "-h" ]] && usage
|
|
|
|
# Test for required program
|
|
for comm in $required_command; do
|
|
command -v $comm >/dev/null 2>&1 || {
|
|
echo "I require $comm but it's not installed. Aborting." >&2;
|
|
exit 1
|
|
}
|
|
done
|
|
|
|
# Find all python files in code directories
|
|
python_files=""
|
|
for dir in $code_directories; do
|
|
python_files="$python_files $(find $dir -name '*.py')"
|
|
done
|
|
[[ $# != 0 ]] && python_files=$@
|
|
|
|
|
|
# Here the important part: yapf format the files.
|
|
for file in $python_files; do
|
|
echo "Making beatiful $file..."
|
|
[[ ! -f $file ]] && echo "$file does not exist; $0 -h for more info" && exit
|
|
|
|
yapf --style='{
|
|
based_on_style: pep8,
|
|
indent_width: 4,
|
|
column_limit: 80
|
|
}' -i $file
|
|
done
|