| #!/bin/bash |
| # Usage: tc_pyformat <list of pyformat options> file1.py file2.py ... |
| # |
| # Most common option is -i, which makes formatting changes in place. |
| set -u |
| |
| PF=pyformat |
| PF_OPTIONS="--remove_trailing_comma --yapf --force_quote_type=single" |
| PF_USER_OPTIONS="" |
| |
| if [[ -z "$(type -t ${PF})" ]]; then |
| echo "Error: ${PF} not in your path." |
| exit 1 |
| fi |
| |
| while [[ "$1" == -* ]]; do |
| PF_USER_OPTIONS+=" $1" |
| shift |
| done |
| |
| FILES=$* |
| PF_OPTIONS+=${PF_USER_OPTIONS} |
| |
| for f in ${FILES}; do |
| if [[ $f != *.py ]]; then |
| echo "Error: File $f is not a python file" |
| exit 2 |
| elif [[ -x $f ]]; then |
| ${PF} ${PF_OPTIONS} $f |
| elif [[ -f $f ]]; then |
| ${PF} --remove_shebang ${PF_OPTIONS} $f |
| else |
| echo "Error: File $f does not exist" |
| exit 2 |
| fi |
| done |