From: Silvio Rhatto Date: Wed, 3 Jun 2015 14:57:13 +0000 (-0300) Subject: Cache support at weather-query X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=816e938e3cb2bf214a692deef47ce897d8748b26;p=scripts.git Cache support at 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