summaryrefslogtreecommitdiff
path: root/scripts/convert_latest.sh
diff options
context:
space:
mode:
authorMarkus Koch <markus@notsyncing.net>2021-03-13 10:27:07 +0100
committerMarkus Koch <markus@notsyncing.net>2021-03-13 10:27:07 +0100
commit8c7825d12107b4add51290ece5c98c9b89445de8 (patch)
tree683e0aa9eeec92724c9073aa02009df5d7b158b2 /scripts/convert_latest.sh
parenta91175fdd8a5862d8e1afcad6888a636542bbda6 (diff)
downloadlifomapserver-8c7825d12107b4add51290ece5c98c9b89445de8.tar.gz
lifomapserver-8c7825d12107b4add51290ece5c98c9b89445de8.tar.bz2
lifomapserver-8c7825d12107b4add51290ece5c98c9b89445de8.zip
scripts: Add script to easily convert the latest map
Diffstat (limited to 'scripts/convert_latest.sh')
-rwxr-xr-xscripts/convert_latest.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/convert_latest.sh b/scripts/convert_latest.sh
new file mode 100755
index 0000000..3f03f30
--- /dev/null
+++ b/scripts/convert_latest.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+MAPSERVER='https://lifomaps.de'
+TILESERVER="notsyncing.net:/srv/http/maps.linux-forks.de/tiles/"
+OUTDIR=`pwd`/out
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+
+FILE=`curl "$MAPSERVER" | sed -n 's/.*>\(world-[0-9\-]\+\.png\).*/\1/p' | tail -n 1`
+
+if [[ "$FILE" == "" ]]; then
+ echo "ERROR: Could not detect latest map file."
+ exit
+fi
+
+if [[ -f "$OUTDIR/uploaded" ]]; then
+ echo "INFO: Latest map has already been converted."
+ exit
+fi
+
+REMOTE_URL="$MAPSERVER/$FILE"
+LOCAL_URL="$OUTDIR/$FILE"
+MAPNAME=`echo $LOCAL_URL | sed 's/.*\/\([^\.]\+\).*/\1/g'`
+
+echo "# Downloading and converting $MAPNAME."
+
+mkdir -p $OUTDIR
+cd $OUTDIR
+
+if [ ! -f "$OUTDIR/converted" ]; then
+ echo "Downloading latest map file..."
+ curl -C - "$REMOTE_URL" -o "$LOCAL_URL"
+
+ echo "Resizing map..."
+ OSIZE=`file $LOCAL_URL | sed -n 's/.*PNG image data, \([0-9]\+\).*/\1/p'`
+ NSIZE=$((2**6 * 256))
+ RESIZED_URL="$LOCAL_URL-resized.png"
+ convert $LOCAL_URL -extent ${NSIZE}x${NSIZE} -gravity NorthWest $RESIZED_URL
+
+ echo "Converting map..."
+ $SCRIPT_DIR/convert_maps.sh $MAPNAME $RESIZED_URL
+
+ echo "" > $OUTDIR/converted
+fi
+
+echo "Uploading files..."
+
+scp -r $OUTDIR/$MAPNAME $TILESERVER
+echo "" > $OUTDIR/uploaded
+
+echo "Cleaning up..."
+read
+rm $RESIZED_URL
+Rm $LOCAL_URL