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