summaryrefslogtreecommitdiff
path: root/scripts/geojson/fetch_single.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/geojson/fetch_single.sh')
-rwxr-xr-xscripts/geojson/fetch_single.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/geojson/fetch_single.sh b/scripts/geojson/fetch_single.sh
new file mode 100755
index 0000000..61ab79d
--- /dev/null
+++ b/scripts/geojson/fetch_single.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+json=`curl "https://wiki.linux-forks.de/mediawiki/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=$1&rvsection=0&rvslots=main" | sed -s "s/\\\\\\\\n//g"`
+
+title=`echo $json | sed -n 's/.*"title":\s*"\([^"]\+\).*/\1/p'`
+image=`echo "$json" | sed -n "s/.*image = \([^|]*\).*/\1/p"`
+
+coords=`echo "$json" | sed -n "s/.*coordinates = {{Co|\([^}]*\).*/\1/p"`
+coord_x=`echo "$coords" | sed -n "s/\([^|]\+\).*/\1/p"`
+coord_y=`echo "$coords" | sed -n "s/.*|\([^|]\+\).*/\1/p"`
+
+description=`echo $json | sed -n "s/.*coordinates.*[^']*'''\([^']*\)'''\([^\.]*\).*/\1\2./p"
+`
+
+if [[ "$coord_x" != "" && "$coord_y" != "" ]]; then
+ echo "{\
+ \"type\": \"Feature\",\
+ \"properties\": {\
+ \"name\": \"$title\",\
+ \"amenity\": \"City\",\
+ \"description\": \"$description\",\
+ \"image\": \"https://wiki.linux-forks.de/mediawiki/images/thumb/0/0e/$image/250px-$image\"\
+ },\
+ \"geometry\": {\
+ \"type\": \"Point\",\
+ \"coordinates\": [$coord_x, $coord_y]\
+ }\
+ },"
+fi