aboutsummaryrefslogtreecommitdiff
path: root/weather-query
diff options
context:
space:
mode:
Diffstat (limited to 'weather-query')
-rwxr-xr-xweather-query40
1 files changed, 40 insertions, 0 deletions
diff --git a/weather-query b/weather-query
new file mode 100755
index 0000000..f834415
--- /dev/null
+++ b/weather-query
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Simple wrapper around brweather
+#
+
+# Parameters
+BASENAME="`basename $0`"
+PROGRAM="$1"
+CACHE="$HOME/.local/share/weather"
+
+# Command line args
+shift
+
+# Weather service query
+function weather_query {
+ # Make sure everything we need exists
+ mkdir -p $CACHE
+ touch $CACHE/weather.cur $CACHE/weather.prev
+
+ # Save the previous forecast
+ cp $CACHE/weather.cur $CACHE/weather.prev
+ weather $* > $CACHE/weather.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.cur" ]; then
+ cp $CACHE/weather.prev $CACHE/weather.cur
+ fi
+
+ # Display output
+ cat $CACHE/weather.cur
+}
+
+# Main
+if [ "$PROGRAM" == 'brweather' ]; then
+ brweather $* | grep -v 'Erro.'
+else
+ weather_query
+fi