4
2
mirror of https://github.com/getbible/v2_builder.git synced 2024-06-01 05:10:50 +00:00
v2_builder/src/movePublicHashFiles.sh

61 lines
1.6 KiB
Bash
Raw Normal View History

#! /bin/bash
# make sure we have at least one argument
if [ $# -eq 0 ]; then
echo >&2 "Target folder must be supplied. Aborting."
exit 1
fi
# target folder
API_path="$1"
each="${2:-1}"
scripture_path="${API_path}_scripture"
hash_path="${API_path}"
# check if the target to folder exist
if [ -d "$hash_path" ]; then
# reset the git folder on each run
if [ -d "${hash_path}/.git" ]; then
mkdir -p "${hash_path}Tmp"
mv -f "${hash_path}/.git" "${hash_path}Tmp"
mv -f "${hash_path}/LICENSE" "${hash_path}Tmp"
mv -f "${hash_path}/README.md" "${hash_path}Tmp"
# now we remove all the old git files (so we start clean each time in the build)
rm -fr $hash_path
mv -f "${hash_path}Tmp" "${hash_path}"
fi
else
# make sure it is created
mkdir -p "$hash_path"
fi
## declare an array variable
declare -a arr=('*.sha' 'checksum' 'checksum.json' 'translations' 'translations.json' 'books' 'books.json' 'chapters' 'chapters.json')
## now loop through the above array
for key in "${arr[@]}"; do
# give notice
counter="$each"
echo -e "XXX\n$counter\nMoving all these type ($key) of files\nXXX"
sleep 1
find "$scripture_path" -type f -name "$key" -print0 | while IFS= read -r -d '' file; do
newFile=${file/$scripture_path/$hash_path}
newPath=$(dirname "${newFile}")
if [ ! -d "$newPath" ]; then
mkdir -p "$newPath"
fi
# copy the files there
cp --remove-destination "$file" "$newFile"
# check if we have counter up-to total
if (("$counter" >= 98)); then
counter="$each"
fi
# increment the counter
counter=$((counter + 1))
# give notice
echo -e "XXX\n${counter}\nMoving $file\nXXX"
done
done