51 lines
1.3 KiB
Bash
Executable File
51 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function printUsage() {
|
|
echo "Please provide a valid level number";
|
|
echo "usage $o <level>"
|
|
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%
|
|
|