#!/bin/bash json=`curl -s 'https://wiki.linux-forks.de/mediawiki/api.php?action=query&format=json&list=search&redirects=1&converttitles=1&srsearch=%7B%7BCo%7C&srlimit=max&srwhat=text&srprop=snippet'` data=`echo "$json" | json_reformat`; echo "["; IFS=$'\n'; for line in $data; do temp=`echo "$line" | sed -n 's/^\s*{\s*$/END/p'` if [[ "$temp" == "END" ]]; then title=""; coords=""; fi temp=`echo "$line" | sed -n 's/\s*"title": "*\([^"]\+\).*/\1/p'` if [[ "$temp" != "" ]]; then title="$temp"; fi temp=`echo "$line" | sed -n 's#.*Co<\/span>|\([0-9\-]\+\)|\([0-9\-]\+\)|\([0-9\-]\+\).*#\1,\3#p'` if [[ "$temp" != "" ]]; then coords="$temp"; fi if [[ "$title" != "" && "$coords" != "" ]]; then echo "{\"type\": \"Feature\", \"properties\": {\"name\": \"$title\"," echo -n "\"categories\": [" urltitle=`echo "$title" | sed 's/ /%20/g'` cjson=`curl -s "https://wiki.linux-forks.de/mediawiki/api.php?action=query&format=json&titles=$urltitle&prop=categories" | json_reformat -m` categories=`echo "$cjson" | sed -n 's/.*\("categories":[^]]\+\).*/\1/p'`; IFS='}' fc="true"; for entry in $categories; do if [[ "$fc" != "true" ]]; then echo -n ","; fi category=`echo "$entry" | sed -n 's/.*Category:\([^"]\+\).*/\1/p'` echo -n "\"$category\""; fc="false"; done; IFS=$'\n' echo "]},"; echo "\"geometry\": {\"type\": \"Point\", \"coordinates\": [$coords]}},"; title=""; coords=""; fi done IFS=" "; echo "{}]";