From 307c42031b535493b8c481c5ee76a732ff8c98ed Mon Sep 17 00:00:00 2001 From: Taj Date: Fri, 20 Jan 2023 11:57:35 +0000 Subject: [PATCH 1/2] Moved the formatter script to the formatter action path --- formatter/action.yml | 2 +- filename_formatter.sh => formatter/filename_formatter.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename filename_formatter.sh => formatter/filename_formatter.sh (100%) diff --git a/formatter/action.yml b/formatter/action.yml index cb7cbd5..cc232b2 100644 --- a/formatter/action.yml +++ b/formatter/action.yml @@ -25,7 +25,7 @@ runs: - name: Running the formatter shell: bash run: | - ./filename_formatter.sh ${{ inputs.working-directory }} ${{ inputs.filetypes }} ${{ inputs.ignore-files }} + filename_formatter.sh ${{ inputs.working-directory }} ${{ inputs.filetypes }} ${{ inputs.ignore-files }} - name: Committing changes shell: bash run: | diff --git a/filename_formatter.sh b/formatter/filename_formatter.sh similarity index 100% rename from filename_formatter.sh rename to formatter/filename_formatter.sh From d3ad99a2ebda7dc05b580802ff32ce2f2cdb7238 Mon Sep 17 00:00:00 2001 From: David Leal Date: Fri, 20 Jan 2023 14:01:05 -0600 Subject: [PATCH 2/2] Add filename formatter in root For backward compatibility. --- filename_formatter.sh | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 filename_formatter.sh diff --git a/filename_formatter.sh b/filename_formatter.sh new file mode 100644 index 0000000..cc9bfed --- /dev/null +++ b/filename_formatter.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +echo -e "Arguments: +[0] - Used by Bash (script filename) +[1] - Base directory +[2] - Filename type (maximum two values) +[3] - Ignored files or folders (optional; use "\""./"\"") +" + +# Separate $2 value (filename types) if it has a comma +if [[ "$2" == *","* ]]; +then + string="$2" + + str_value=${string#*,} + str_value2=${string%%,*} +else + str_value="$2" + str_value2="$2" +fi + +# Do not run script if there are no given arguments. +if [[ "$1" == "" ]] || [[ "$2" == "" ]]; +then + echo "No arguments given. Please specify minimum two arguments." + exit 1 +fi + +echo "Changed files:" + +IFS=$'\n'; set -f +for fname in $(find $1 -type f -name "*$str_value2" -or -name "*$str_value") +do + ignored_files="$(echo "$3" | tr "," "\n")" + + str="${fname}" + value=${str%/*} # If the base directory is `.`, check in all directories for the ignored filenames + + for files in $ignored_files + do + if [ "${fname}" == "$value/$files" ] || [ "$value" == "$files" ]; + then + continue 2 + fi + done + + #echo ${fname} + new_fname=$(echo "${fname}" | tr ' ' '_') + #echo " ${new_fname}" + new_fname=$(echo "${new_fname}" | tr '[:upper:]' '[:lower:]') + #echo " ${new_fname}" + new_fname=$(echo "${new_fname}" | tr '-' '_') + #echo " ${new_fname}" + if [ "${fname}" != "${new_fname}" ] + then + echo " ${fname} --> ${new_fname}" + git "mv" "${fname}" "${new_fname}" # Requires you to be in version control + fi +done +unset IFS; set +f