summaryrefslogtreecommitdiff
path: root/scripts/geojson/fetch_single.sh
blob: ce37b5953ca812c04a4c4cc85900940a14489655 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/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" 2>/dev/null | sed -s "s/\\\\\\\\n//g"`

title=`echo $json | sed -n 's/.*"title":\s*"\([^"]\+\).*/\1/p'`

img=$(curl "https://wiki.linux-forks.de/mediawiki/index.php/$1" 2>/dev/null | sed s/\"/\\n/g | grep /thumb/ | head -n 1)

image="https://wiki.linux-forks.de$img"

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=`curl "https://wiki.linux-forks.de/mediawiki/api.php?action=parse&page=$1&section=0&prop=text&format=json" 2>/dev/null | sed -z -n "s/<\/p><p>//g;s/.*<p>\(.*\)<\/p>.*/\1/p" | sed s,\"/mediawiki/index.php,\"https://wiki.linux-forks.de/mediawiki/index.php,g`


if [[ "$coord_x" != "" && "$coord_y" != "" ]]; then
	echo "{\
		\"type\": \"Feature\",\
		\"properties\": {\
		\"name\": \"$title\",\
		\"amenity\": \"City\",\
		\"description\": \"$description\",\
		\"image\": \"$image\"\
		},\
		\"geometry\": {\
		\"type\": \"Point\",\
		\"coordinates\": [$coord_x, $coord_y]\
		}\
	},"
fi