2022-10-28 15:26:00 +03:00
#!/usr/bin/env bash
2022-06-06 23:13:59 +03:00
set -e
curl_cbr ( ) {
local today = $( date +%d/%m/%Y)
2023-01-08 15:28:29 +03:00
local start_range = $( date +%d/%m/%Y -d '-14 day' )
2022-06-06 23:13:59 +03:00
local usd = R01235
2023-01-08 15:28:29 +03:00
curl --no-progress-meter " https://www.cbr.ru/scripts/XML_dynamic.asp?date_req1= $start_range &date_req2= $today &VAL_NM_RQ= $usd " | \
2022-06-06 23:13:59 +03:00
sed -e "s/<[A-Z]/\n\0/g" | \
grep Value | \
sed -e "s#<\/\?\w\+>##g" | \
sed -e "s/,/./g"
}
curl_exchangerate ( ) {
local start_date = $( date +%Y-%m-%d -d '-1 day' )
local end_date = $( date +%Y-%m-%d)
curl --no-progress-meter -X GET " https://api.exchangerate.host/timeseries?start_date= $start_date &end_date= $end_date &base=USD&symbols=RUB&places=4&format=xml " | \
sed -e "s/<[a-z]/\n\0/g" | \
grep rate | \
sed -e "s#<\/\?\w\+>##g"
}
2022-08-28 17:20:22 +03:00
# bar_name=xmobar
bar_name = polybar
2023-01-08 15:28:29 +03:00
res = ( $( curl_cbr) )
if [ -z " $res " ] ; then
echo NO DATA
exit 0
fi
2022-06-06 23:13:59 +03:00
2023-01-08 15:28:29 +03:00
diff = $( echo ${ res [-1] } ${ res [-2] } | awk '{ print $1 - $2 }' )
2022-06-06 23:13:59 +03:00
arror = "↑"
2022-10-28 15:26:00 +03:00
color = '@success@'
2022-06-06 23:13:59 +03:00
if [ ${ diff : 0 : 1 } = = '-' ] ; then
diff = ${ diff : 1 }
arror = "↓"
2022-10-28 15:26:00 +03:00
color = '@error@'
2022-06-06 23:13:59 +03:00
fi
2022-08-28 17:20:22 +03:00
case $bar_name in
"xmobar" )
2023-01-08 15:28:29 +03:00
echo " ${ res [-1] } (<fc= ${ color } > ${ arror } <hspace=3/> ${ diff } </fc>) "
2022-08-28 17:20:22 +03:00
; ;
"polybar" )
2023-01-08 15:28:29 +03:00
echo " ${ res [-1] } (%{F ${ color } } ${ arror } %{O3} ${ diff } %{F-}) "
2022-08-28 17:20:22 +03:00
; ;
esac
2022-06-06 23:13:59 +03:00
exit 0