aboutsummaryrefslogtreecommitdiff
path: root/weather-forecast
diff options
context:
space:
mode:
Diffstat (limited to 'weather-forecast')
-rwxr-xr-xweather-forecast36
1 files changed, 36 insertions, 0 deletions
diff --git a/weather-forecast b/weather-forecast
new file mode 100755
index 0000000..269f740
--- /dev/null
+++ b/weather-forecast
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Simple wrapper around wttr.in
+#
+
+# Parameters
+BASENAME="`basename $0`"
+PROGRAM="$1"
+CACHE="$HOME/.local/share/weather"
+
+# Load config
+source $HOME/.custom/wttr.in.conf || exit 1
+
+# weather-forecast service query
+function weather_forecast_query {
+ # Make sure everything we need exists
+ mkdir -p $CACHE
+ touch $CACHE/weather-forecast.cur $CACHE/weather-forecast.prev
+
+ # Save the previous forecast
+ cp $CACHE/weather-forecast.cur $CACHE/weather-forecast.prev
+ curl wttr.in/$LOCATION > $CACHE/weather-forecast.cur 2> /dev/null
+
+ # Test if current forecast is empty, meaning
+ # that we're probably ofline. In that case
+ # we provide the previous output.
+ if [ ! -s "$CACHE/weather-forecast.cur" ]; then
+ cp $CACHE/weather-forecast.prev $CACHE/weather-forecast.cur
+ fi
+
+ # Display output
+ cat $CACHE/weather-forecast.cur
+}
+
+# Main
+weather_forecast_query