summaryrefslogtreecommitdiff
path: root/scripts/geojson/get_rendered_meta.sh
diff options
context:
space:
mode:
authorMarkus Koch <markus@notsyncing.net>2020-05-02 14:17:49 +0200
committerMarkus Koch <markus@notsyncing.net>2020-05-02 14:17:49 +0200
commit3610b8b610dee65ac318c2a71b18a03f6cd573e5 (patch)
tree6ed2152e17ab7bbe157c19178fb1f4dbcb1de5e8 /scripts/geojson/get_rendered_meta.sh
parent806348e67651bbdf5df8b0919fc412d7140a1b43 (diff)
parent3d0afc953ee0db0dc1d950724a0f9cd342e15361 (diff)
downloadlifomapserver-3610b8b610dee65ac318c2a71b18a03f6cd573e5.tar.gz
lifomapserver-3610b8b610dee65ac318c2a71b18a03f6cd573e5.tar.bz2
lifomapserver-3610b8b610dee65ac318c2a71b18a03f6cd573e5.zip
Merge branch 'dev' of git.notsyncing.net:markus/lifomapserver into dev
Diffstat (limited to 'scripts/geojson/get_rendered_meta.sh')
-rwxr-xr-xscripts/geojson/get_rendered_meta.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/geojson/get_rendered_meta.sh b/scripts/geojson/get_rendered_meta.sh
new file mode 100755
index 0000000..120645c
--- /dev/null
+++ b/scripts/geojson/get_rendered_meta.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+BASE="https://wiki.linux-forks.de"
+
+mode="find_description"
+
+thumbnail=""
+categories=""
+
+data=`curl -s "$1"`
+
+temp=`echo "$data" | sed -n 's/<p>\(.\+\).*/\1/p' | head -n1`
+if [ "$temp" != "" ]; then
+ temp=`echo "$temp" | sed "s#href=\"#href=\"$BASE#g" | sed 's/"/\\\\"/g' | sed 's/\t//g'`
+ description="$temp"
+ mode="find_infobox";
+fi
+
+IFS=$'>';
+for line in $data; do
+ if [ "$mode" == "find_infobox" ]; then
+ if [ "`echo \"$line\" | grep 'infobox'`" != "" ]; then
+ mode="image";
+ fi
+ elif [ "$mode" == "image" ]; then
+ temp=`echo "$line" | sed -n 's/.*img.*src="\([^"]\+\).*/\1/p'`;
+ if [ "$temp" != "" ]; then
+ thumbnail="$BASE$temp"
+ mode="find_cat"
+ fi
+ elif [ "$mode" == "find_cat" ]; then
+ if [ "`echo \"$line\" | grep 'mw-normal-catlinks'`" != "" ]; then
+ mode="cat";
+ fi
+ elif [ "$mode" == "cat" ]; then
+ temp=`echo "$line" | sed -n 's/.*title="Category:\([^"]\+\).*/\1/pg' | grep -v 'page does not exist'`
+ if [ "$temp" != "" ]; then
+ if [ "$categories" != "" ]; then
+ categories="$categories,"
+ fi
+ categories="$categories\"$temp\""
+ fi
+ fi
+done
+IFS=" ";
+
+echo "\"categories\": [$categories],"
+echo "\"image\": \"$thumbnail\","
+echo "\"description\": \"$description\""