summary refs log tree commit diff
path: root/.config/waybar/modules
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-07-21 14:47:55 +0200
committerRobert Günzler <r@gnzler.io>2020-07-21 14:47:55 +0200
commita2598ee49f9b88cba137a356dc3cb0520828b4a0 (patch)
tree85afbdc9d5ad62241836a778f7e956c5ea776852 /.config/waybar/modules
parente7cfd58af25de9fe7e2a991baf57dfad4d1a0c10 (diff)
waybar: parse weather codes in the script
Diffstat (limited to '.config/waybar/modules')
-rwxr-xr-x.config/waybar/modules/weather.sh24
1 files changed, 21 insertions, 3 deletions
diff --git a/.config/waybar/modules/weather.sh b/.config/waybar/modules/weather.sh
index 9f7780d..210c20a 100755
--- a/.config/waybar/modules/weather.sh
+++ b/.config/waybar/modules/weather.sh
@@ -9,11 +9,29 @@ if [ -n "$REPORT" ]; then
 	exit 0
 fi
 
-curl -s wttr.in/"${loc}"?format=j1 \
-	| jq \
+data="$(curl -s wttr.in/"${loc}"?format=j1)"
+
+class=
+case "$(echo "${data}" | jq -r '.current_condition[].weatherCode')" in
+113) class="sunny" ;;
+116) class="partlycloudy" ;;
+119) class="cloudy" ;;
+122) class="verycloudy" ;;
+143|248|260) class="fog" ;;
+176|263|266|293|296|353) class="lightrain" ;;
+179|182|185|281|284|311|314|317|350|362|365|374|377) class="hail" ;;
+200|386|389|392) class="thunder" ;;
+227|320) class="lightsnow" ;;
+230|329|332|335|338|371|395) class="heavysnow" ;;
+299|302|305|308|356|359): class="heavyrain" ;;
+323|326|368) class="snowrain" ;;
+esac
+
+echo "${data}" | jq \
 	--raw-output \
 	--unbuffered \
 	--compact-output \
+	--arg class "${class}" \
 	--arg tooltip "$(curl -s v2.wttr.in/"${loc}"?ATFQ | tail -n5)" \
-	'.current_condition[] | { text: .weatherDesc[0].value, percentage: (.temp_C | tonumber), class: .weatherCode, alt: .weatherCode, tooltip: ($tooltip) }'
+	'.current_condition[] | { text: .weatherDesc[0].value, percentage: (.temp_C | tonumber), class: $class, alt: $class, tooltip: ($tooltip) }'