Create code_formatter.sh
This commit is contained in:
52
code_formatter.sh
Normal file
52
code_formatter.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user