From 816e938e3cb2bf214a692deef47ce897d8748b26 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 3 Jun 2015 11:57:13 -0300 Subject: Cache support at weather-query --- weather-query | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'weather-query') diff --git a/weather-query b/weather-query index 774bb73..e925342 100755 --- a/weather-query +++ b/weather-query @@ -3,11 +3,38 @@ # 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 + + # 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.pre $CACHE/weather.cur + fi + + # Display output + cat $CACHE/weather.cur +} + +# Main if [ "$PROGRAM" == 'brweather' ]; then brweather $* | grep -v 'Erro.' else - weather $* + weather_query fi -- cgit v1.2.3