diff --git a/scripts/calculateProgress.sh b/scripts/calculateProgress.sh new file mode 100755 index 0000000..f23de60 --- /dev/null +++ b/scripts/calculateProgress.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +function printUsage() { + echo "Please provide a valid level number"; + echo "usage $o " + exit 1 +} + +level=$1 + +if [ -z "$1" ]; then + printUsage +fi + +level=$1 +if [ ! -d "/home/osm/tiles/$level" ]; then + printUsage +fi +#echo level=$level +level100=$((4**$level)) +#echo level100=$level100 + +previousLevel=$(($level-1)) +if [ ! -d "/home/osm/tiles/$previousLevel" ]; then + printUsage +fi +#echo previousLevel=$previousLevel +previousLevel100=$((4**$previousLevel)) +#echo previousLevel100=$previousLevel100 + +# calculate tiles rendered in previousLevel +find /home/osm/tiles/$previousLevel/ -name "*.png" > /tmp/files.txt +read previousLevelTiles fileName <<< $(wc -l /tmp/files.txt) +#echo previousLevelTiles=$previousLevelTiles + +# calculate files rendered in current level +find /home/osm/tiles/$level/ -name "*.png" > /tmp/files.txt +read levelTiles fileName <<< $(wc -l /tmp/files.txt) +#echo levelTiles=$levelTiles + +# calculate progress +percentageRequired=$(echo "scale=8;$previousLevelTiles / $previousLevel100" | bc) +#echo percentageRequired=$percentageRequired +levelTarget=$(echo "$level100 * $percentageRequired" | bc) +#echo levelTarget=$levelTarget +levelCalculated=$(echo "scale=4;($levelTiles / $levelTarget)" | bc) +#echo levelCalculated=$levelCalculated +progress=$(echo "scale=2;($levelCalculated*100)/1" | bc) +echo progress=$progress% +