dotfiles/.local/bin/custom/cov

64 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
file="cov.txt"
fileold="cov.txt.old"
update() {
mv ~/.cache/cov.txt ~/.cache/cov.txt.old
curl -s https://covid19.go.id/ | grep -A1 "div>Positif" | cut -d">" -f4 | cut -d"<" -f1 | sed "1 s/^/Pos /;2 s/^/Sem /" > ~/.cache/cov.txt
}
helpFunction()
{
echo ""
echo "Usage: $0 [Option]"
echo -e "\t-u Force update covid report"
echo -e "\t-p Print postive cases of covid-19 (Indonesia)"
echo -e "\t-s Print cured cases of covid-19 (Indonesia)"
echo -e "\t-H Print covid report in human format"
echo -e "\t-h Show this message"
exit 1 # Exit script after printing help
}
print_Pos() {
printf "%s\n" $(grep "Pos" ~/.cache/$file | sed "s/Pos //")
}
print_Sem() {
printf "%s\n" $(grep "Sem" ~/.cache/$file | sed "s/Sem //")
}
print_Hum() {
print_Pos | sed '1 s/^/Positive: /g' && print_Sem | sed '1 s/^/Cured: /g' && echo -e "\nSource: https://covid19.go.id/"
}
rate_Pos() {
newPos=$(cov -p | sed 's/[.]//g')
oldPos=$(cov -op | sed 's/[.]//g')
((ratePos=$newPos-$oldPos))
printf "%s\n" $ratePos
}
rate_Sem() {
newPos=$(cov -s | sed 's/[.]//g')
oldPos=$(cov -os | sed 's/[.]//g')
((ratePos=$newPos-$oldPos))
printf "%s\n" $ratePos
}
[ ! "$(stat -c %y ~/.cache/cov.txt 2> /dev/null | cut -d' ' -f1)" = "$(date +"%Y-%m-%d")" ] && update
while getopts "oupshHrR" opt
do
case "$opt" in
R ) rate_Sem ;;
r ) rate_Pos ;;
o ) file="$fileold";;
u ) update && echo "Covid report has been updated";;
p ) print_Pos ;;
s ) print_Sem ;;
H ) print_Hum ;;
h ) helpFunction ;;
? ) helpFunction ;; # Print helpFunction in case parameter is non-existent
esac
done