system/users/modules/window_manager/scripts/exchangerate.sh

57 lines
1.2 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
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')
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" | \
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
2023-01-08 15:28:29 +03:00
diff=$(echo ${res[-1]} ${res[-2]} | awk '{ print $1 - $2 }')
arror="↑"
color='@success@'
if [ ${diff:0:1} == '-' ]; then
diff=${diff:1}
arror="↓"
color='@error@'
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
exit 0