blob: a4974f436cf23a70aa557bd0c80e2216c88e32a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/bin/sh
# Warning: uses a non-existant currency API
# Grabs a spot price for a currency and stores it in ~/.cache
# Useful to run as a cron job and use its cached output in motds or status
# lines
#
# syntax: grab-spot TO FROM
# for example, to get the value of USD in NZD:
# grab-spot USD NZD
# would place a file at ~/.cache/USDNZD containing the value of the USD in NZD,
# to 4 decimal places, and a label for the conversion
if [ -z $1 ]; then
logger "$0: blank FROM currency"
exit
fi
if [ -z $2 ]; then
logger "$0: blank TO currency"
exit
fi
# Only bother downloading if it's more than 1 hour old
if ([ ! -f ~/.cache/currency/"$1$2" ] || [ $(find ~/.cache/currency/"$1$2" -mmin +60) ]) ; then
rate=$(curl -L "https://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=$1$2=X" | cut -d ',' -f 2)
if [ $? -ne 0 ] ; then
logger "$0: curl error"
exit
fi
printf "$1$2: %.4f" $rate > ~/.cache/currency/"$1$2"
fi
|