added usage
This commit is contained in:
parent
6f668fa9e0
commit
8f72e92fa9
1 changed files with 34 additions and 5 deletions
|
@ -1,6 +1,30 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
usage() { echo "Usage: $0 [-J <parallel processes (default 5)>] [-L <download rate of each process (default 2M)>]" 1>&2; }
|
||||||
|
|
||||||
|
J=5
|
||||||
|
L="2M"
|
||||||
|
|
||||||
|
while getopts ":J:L:" o; do
|
||||||
|
case "${o}" in
|
||||||
|
J)
|
||||||
|
J=${OPTARG}
|
||||||
|
;;
|
||||||
|
L)
|
||||||
|
L=${OPTARG}
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
usage; exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage; exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
export base="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
export base="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||||
cd $base
|
cd $base
|
||||||
|
|
||||||
echo "Checking for program update..."
|
echo "Checking for program update..."
|
||||||
server_version="$(curl https://arcsidian.com/xivv/version.json 2>/dev/null)"
|
server_version="$(curl https://arcsidian.com/xivv/version.json 2>/dev/null)"
|
||||||
[ "$(cat version.json)" = "$server_version" ] && echo "Up to date: $server_version" || (
|
[ "$(cat version.json)" = "$server_version" ] && echo "Up to date: $server_version" || (
|
||||||
|
@ -11,13 +35,17 @@ server_version="$(curl https://arcsidian.com/xivv/version.json 2>/dev/null)"
|
||||||
tee version.json <<<"$server_version"
|
tee version.json <<<"$server_version"
|
||||||
echo "Updated to $server_version"
|
echo "Updated to $server_version"
|
||||||
) 2>/dev/null
|
) 2>/dev/null
|
||||||
|
|
||||||
|
# Cleaning and preparing directory
|
||||||
rm $base/share $base/pfx/drive_c/Xiv_Voices/Data -f
|
rm $base/share $base/pfx/drive_c/Xiv_Voices/Data -f
|
||||||
ln -s $base/pfx/drive_c/Xiv_Voices $base/share
|
ln -s $base/pfx/drive_c/Xiv_Voices $base/share
|
||||||
mkdir -p Data tmp bak
|
mkdir -p Data tmp tmp/bak
|
||||||
ln -s $base/Data $base/pfx/drive_c/Xiv_Voices/Data
|
ln -s $base/Data $base/pfx/drive_c/Xiv_Voices/Data
|
||||||
rm -f share/{nameless,npcData,voiceNames,ignored,data}.json
|
rm -f share/{nameless,npcData,voiceNames,ignored,data}.json
|
||||||
|
|
||||||
echo "Updating metadata..."
|
echo "Updating metadata..."
|
||||||
wget -P share -c https://arcsidian.com/xivv/{nameless,npcData,voiceNames,ignored,data}.json 2>/dev/null
|
wget -P share -c https://arcsidian.com/xivv/{nameless,npcData,voiceNames,ignored,data}.json 2>/dev/null
|
||||||
|
|
||||||
echo "Checking for updated voice lines..."
|
echo "Checking for updated voice lines..."
|
||||||
pids=""
|
pids=""
|
||||||
while read url fn; do
|
while read url fn; do
|
||||||
|
@ -26,16 +54,17 @@ while read url fn; do
|
||||||
(
|
(
|
||||||
key=$(<<<$url sed 's/.zip$//' | awk -F/ '{print $(NF-1) "/" $NF}')
|
key=$(<<<$url sed 's/.zip$//' | awk -F/ '{print $(NF-1) "/" $NF}')
|
||||||
keysize=$(<<<$fn sed 's/.zip$//' | awk -F. '{print $NF}')
|
keysize=$(<<<$fn sed 's/.zip$//' | awk -F. '{print $NF}')
|
||||||
mv "share/Data/$key" "bak/${key//\//_}" 2>/dev/null
|
mv "share/Data/$key" "tmp/bak/${key//\//_}" 2>/dev/null
|
||||||
curl -o "tmp/$fn" "$url" 2>/dev/null && unzip -d share/Data -P "$keysize#Arc" "tmp/$fn" 2>&1 >/dev/null && rm "tmp/$fn" && echo " - Downloaded $fn"
|
curl --limit-rate $L -o "tmp/$fn" "$url" 2>/dev/null && unzip -d share/Data -P "$keysize#Arc" "tmp/$fn" 2>&1 >/dev/null && rm "tmp/$fn" && echo " - Downloaded $fn"
|
||||||
) &
|
) &
|
||||||
pids="$pids $!"
|
pids="$pids $!"
|
||||||
|
|
||||||
if [[ $(jobs -r -p | wc -l) -ge 5 ]]; then
|
if [[ $(jobs -r -p | wc -l) -ge $J ]]; then
|
||||||
wait -n
|
wait -n
|
||||||
fi
|
fi
|
||||||
#done <<< $(echo "https://xivvoices.com/npcs/Alphinaud/Alphinauds_Voice.zip Alphinauds_Voice.1534982.zip")
|
#done <<< $(echo "https://xivvoices.com/npcs/Alphinaud/Alphinauds_Voice.zip Alphinauds_Voice.1534982.zip")
|
||||||
done <<< $(python3 get_latest_voices.py)
|
done <<< $(python3 get_latest_voices.py)
|
||||||
|
|
||||||
echo "Waiting for downloads to complete..."
|
echo "Waiting for downloads to complete..."
|
||||||
wait $pids
|
wait $pids
|
||||||
echo "Update complete"
|
echo "Update complete!"
|
||||||
|
|
Loading…
Reference in a new issue