diff options
| author | Secondarian <101978322+Secondarian@users.noreply.github.com> | 2022-07-01 23:26:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-01 23:26:58 +0200 |
| commit | 395ec0d4007405cf7c177b369c58b942a7fd0f96 (patch) | |
| tree | a3a5d7f2871e92997607e55f1445f23065502e6d /.local/bin/statusbar | |
| parent | 035e1bcbbe9bb0e83a04df04abc417d8ef137218 (diff) | |
| download | eibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.tar.gz eibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.tar.zst eibhear-395ec0d4007405cf7c177b369c58b942a7fd0f96.zip | |
Regions for Germany
This lets you choose regions for Germany and get radar gifs from the national weather service instead of Sat24 which are way higher quality.
Diffstat (limited to '.local/bin/statusbar')
| -rwxr-xr-x | .local/bin/statusbar/sb-doppler | 52 |
1 files changed, 40 insertions, 12 deletions
diff --git a/.local/bin/statusbar/sb-doppler b/.local/bin/statusbar/sb-doppler index dabf18b..ca95bdf 100755 --- a/.local/bin/statusbar/sb-doppler +++ b/.local/bin/statusbar/sb-doppler @@ -4,8 +4,29 @@ secs=600 # Download a new doppler radar if one hasn't been downloaded in $secs seconds. radarloc="${XDG_CACHE_HOME:-$HOME/.cache}/radar" +radarger="${XDG_CACHE_HOME:-$HOME/.cache}/radarger" doppler="${XDG_CACHE_HOME:-$HOME/.cache}/doppler.gif" +pickger() { chosenger="$(echo "BAW: Baden-Württemberg +BAY: Bavaria +BBB: Berlin +BBB: Brandenburg +HES: Hesse +MVP: Mecklenburg-Western Pomerania +NIB: Lower Saxony +NIB: Bremen +NRW: North Rhine-Westphalia +RPS: Rhineland-Palatinate +RPS: Saarland +SAC: Saxony +SAA: Saxony-Anhalt +SHH: Schleswig-Holstein +SHH: Hamburg +THU: Thuringia" | dmenu -r -i -l 50 -p "Select a radar to use as default:" | sed "s/:.*//" | tr "[:upper:]" "[:lower:]")" + +# Secondary sanity check of selection and ensure user did not escape for Germany. +echo "$chosenger" | grep -q "[a-z]" && echo "$chosenger" > "$radarger" ;} + pickloc() { chosen="$(echo "US: Northeast US: Southeast US: PacNorthWest @@ -229,20 +250,27 @@ continentcode=$(echo "$chosen" | sed "s/:.*//") radarcode=$(echo "$chosen" | sed "s/..: // ; s/:.*//") # Sanity check of selection and ensure user did not escape. -echo "$radarcode" | grep -q "^[A-Z]\+$" && printf "%s,%s\\n" "$continentcode" "$radarcode" > "$radarloc" ;} +echo "$radarcode" | grep -q "^[A-Z]\+$" && printf "%s,%s\\n" "$continentcode" "$radarcode" > "$radarloc" + +# Prompts for choosing region if in Germany. +case $(cut -c 4- "$radarloc") in + DE) pickger ;; + *) ;; +esac ;} -getdoppler() { - cont="$(sed "s/,.*//" "$radarloc")" +getdoppler() { cont="$(sed "s/,.*//" "$radarloc")" loc="$(cut -c 4- "$radarloc")" - notify-send "🌦️ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc." - if [ "$cont" = "US" ] ; then - curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ; - elif [ "$cont" = "EU" ] ; then - curl -sL "https://api.sat24.com/animated/${loc}/rainTMC/2/" > "$doppler" ; - elif [ "$cont" = "AF" ] ; then - curl -sL "https://api.sat24.com/animated/${loc}/rain/2/" > "$doppler" ; - fi -} + notify-send "🌦️ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc" + case $cont in + US) curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ;; + EU) case $loc in + DE) [ ! -f "$radarger" ] && pickger + ger="$(cat "$radarger")" + curl -sL "https://www.dwd.de/DWD/wetter/radar/radfilm_${ger}_akt.gif" > "$doppler" ;; + *) curl -sL "https://api.sat24.com/animated/${loc}/rainTMC/2/" > "$doppler" ;; + esac ;; + AF) curl -sL "https://api.sat24.com/animated/${loc}/rain/2/" > "$doppler" ;; + esac ;} showdoppler() { setsid -f mpv --no-osc --loop=inf --no-terminal "$doppler" ;} |
