# retrieve weather information on the console # Usage example: 'weather LOWG' emulate -L zsh if [[ -z "$1" ]]; then print 'Usage: weather ' print \ 'List of stations: http://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code' return 0 fi local VERBOSE="yes" # TODO: Make this a command line switch local ODIR=`pwd` local PLACE="${1:u}" local DIR="${HOME}/.weather" local LOG="${DIR}/log" if ! [[ -d ${DIR} ]]; then print -n "Creating ${DIR}: " mkdir ${DIR} print 'done' fi print "Retrieving information for ${PLACE}:" print cd ${DIR} && \ wget -T 10 --no-verbose --output-file=$LOG --timestamping \ https://tgftp.nws.noaa.gov/data/observations/metar/decoded/$PLACE.TXT if [[ $? -eq 0 ]]; then if [[ -n "$VERBOSE" ]] ; then cat ${PLACE}.TXT else DATE=$(grep 'UTC' ${PLACE}.TXT | sed 's#.* /##') TEMPERATURE=$(awk '/Temperature/ { print $4" degree Celcius / " $2" degree Fahrenheit" }' ${PLACE}.TXT | tr -d '(') echo "date: $DATE" echo "temp: $TEMPERATURE" fi else print "There was an error retrieving the weather information for $PLACE" >&2 cat $LOG cd $ODIR return 1 fi cd $ODIR