diff options
-rwxr-xr-x | weather-query | 29 |
1 files changed, 28 insertions, 1 deletions
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 |