From 20b9b4855ec88d6d0c6ed4edbd4b9c6525f77d25 Mon Sep 17 00:00:00 2001 From: "Archie Hilton (thytom)" Date: Wed, 6 Nov 2019 14:19:23 +0000 Subject: [PATCH] Added new weather module, fixed archupdates spacing and tweaked bar.sh --- bar.sh | 6 +++-- modules/archupdates | 4 ++-- modules/weather | 53 +++++---------------------------------------- 3 files changed, 12 insertions(+), 51 deletions(-) diff --git a/bar.sh b/bar.sh index 925615a..534ae87 100755 --- a/bar.sh +++ b/bar.sh @@ -45,8 +45,10 @@ run_module() out="$($MODULES_DIR$1)" fi - [[ ! "$out" = "" ]] && out="$out$SEPARATOR." - echo "$out" > "$OUTPUT_CACHE$module" + if [[ ! "$out" = "" ]]; then + out="$out$SEPARATOR." + echo "$out" > "$OUTPUT_CACHE$module" + fi } run() diff --git a/modules/archupdates b/modules/archupdates index 30ee7a3..9fd509b 100755 --- a/modules/archupdates +++ b/modules/archupdates @@ -4,9 +4,9 @@ # Requires an internet connection # Depends on yay and checkupdates (pacman-contrib) -PREFIX=' Updates: ' +PREFIX=' Updates: ' -get_updates() +get_updates() { if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then updates_arch=0 diff --git a/modules/weather b/modules/weather index 0933622..42887b7 100755 --- a/modules/weather +++ b/modules/weather @@ -1,56 +1,15 @@ #!/bin/bash -# Prints out the weather at your approximate location -# Needs an internet connection -# Dependencies: jq +# Deps: +# curl -SUN_ICON='' -CLOUD_ICON='摒' -RAIN_ICON='歹' -THUNDER_ICON='朗' -SNOW_ICON='流' -MIST_ICON='敖' get_weather() { - LOCATION=$(curl -s http://ip-api.com/json | \ - jq '.lat, .lon' | \ - while read -r LATITUDE; do - read -r LONGITUDE - echo "${LATITUDE}:${LONGITUDE}" | tr -d '"' - done) - - LANG="en" - UNITS="Metric" - API_KEY="756edce7e9d4c385ef9499a53492678c" - - LOCATION_FORMATTED_2=$(echo $LOCATION | cut -d ':' -f2) - LOCATION_FORMATTED_1=$(echo $LOCATION | cut -d ':' -f1) - - OUTPUT=$(curl -s "http://api.openweathermap.org/data/2.5/weather?lat=$LOCATION_FORMATTED_1&lon=$LOCATION_FORMATTED_2&lang=$LANG&appid=$API_KEY&units=$UNITS") - STATUS=$(echo $OUTPUT | jq '.weather' | tr '[' ' ' | tr ']' ' ' | jq '.main' | sed 's/"//g') - TEMP=$(echo $OUTPUT | jq '.main' | jq '.temp' | xargs printf "%.*f\n" 0) - - case $STATUS in - "Clear" ) - echo $SUN_ICON;; - "Clouds" ) - echo $CLOUD_ICON;; - "Rain" ) - echo $RAIN_ICON;; - "Thunderstorm" ) - echo $THUNDER_ICON;; - "Snow" ) - echo $SNOW_ICON;; - "Mist" ) - echo $MIST_ICON;; - * ) - echo "?";; - esac - - echo "$STATUS, " - echo "$TEMP°C" + curl -s v2.wttr.in | grep -e "Weather" | sed 's/C,.*/C/g; s/+//g; s/.*\[0m.//g; s/.//2' } -get_weather +if [ $(( 10#$(date +'%S') % 30 )) -eq 0 ]; then + get_weather +fi