diff options
Diffstat (limited to 'weather-query')
-rwxr-xr-x | weather-query | 40 |
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 |