Skip to content

Commit

Permalink
zshrc: Move weather to its own file
Browse files Browse the repository at this point in the history
Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
  • Loading branch information
ft authored and mika committed Dec 6, 2011
1 parent 433f1c4 commit 3db9d15
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 45 deletions.
45 changes: 0 additions & 45 deletions etc/zsh/zshrc
Expand Up @@ -3681,51 +3681,6 @@ fluxkey-change() {
fi
}

# retrieve weather information on the console
# Usage example: 'weather LOWG'
weather() {
emulate -L zsh
[[ -n "$1" ]] || {
print 'Usage: weather <station_id>' >&2
print 'List of stations: http://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code'>&2
return 1
}

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"

[[ -d ${DIR} ]] || {
print -n "Creating ${DIR}: "
mkdir ${DIR}
print 'done'
}

print "Retrieving information for ${PLACE}:"
print
cd ${DIR} && wget -T 10 --no-verbose --output-file=$LOG --timestamping http://weather.noaa.gov/pub/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
}

# mercurial related stuff
if check_com -c hg ; then
# gnu like diff for mercurial
Expand Down
49 changes: 49 additions & 0 deletions usr_share_grml/zsh/functions/weather
@@ -0,0 +1,49 @@
# retrieve weather information on the console
# Usage example: 'weather LOWG'

emulate -L zsh

if [[ -n "$1" ]]; then
print 'Usage: weather <station_id>'
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 \
http://weather.noaa.gov/pub/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

0 comments on commit 3db9d15

Please sign in to comment.