#!/bin/sh

set -e

curl_cbr () {
  local today=$(date +%d/%m/%Y)
  local prev_week=$(date +%d/%m/%Y -d '-7 day')
  local usd=R01235

  curl --no-progress-meter "https://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=$prev_week&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"
}

# bar_name=xmobar
bar_name=polybar

cc=($(curl_cbr))

diff=$(echo ${cc[-1]} ${cc[-2]} | awk '{ print $1 - $2 }')
arror="↑"
color='#50fa7b'
if [ ${diff:0:1} == '-' ]; then
  diff=${diff:1}
  arror="↓"
  color='#ff5555'
fi

case $bar_name in
  "xmobar")
    echo "${cc[-1]} (<fc=${color}>${arror}<hspace=3/>${diff}</fc>)"
    ;;

  "polybar")
    echo "${cc[-1]} (%{F${color}}${arror}%{O3}${diff}%{F-})"
    ;;
esac

exit 0

