dotfiles/bin/weather

48 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
_check_date() {
mkdir -p ~/.config/dotfiles/.data
touch ~/.config/dotfiles/.data/weather_date
local old_date=`cat ~/.config/dotfiles/.data/weather_date`
local new_date=`date +%d/%m/%Y`
if [ "$new_date" != "$old_date" ]; then
return 1
else
return 0
fi
}
weather_loop() {
if [ $# -gt 0 ]
then
for ((i=1; i<=$#; i++)); do
curl --retry 10 --connect-timeout 20 wttr.in/${!i} 2>/dev/null
done
if [ $? -eq 0 ]; then
date +%d/%m/%Y > ~/.config/dotfiles/.data/weather_date
else
echo -e "\033[31;1mNetwork unavailable, please check your connexion or try again later.\033[0m"
fi
else
curl --retry 10 --connect-timeout 20 wttr.in 2>/dev/null
if [ $? -eq 0 ]; then
echo -e "\033[31;1mNetwork unavailable, please check your connexion or try again later.\033[0m"
fi
fi
}
main() {
if [ "$1" == "startup" ]; then
_check_date
if [ $? -ne 0 ]; then
weather_loop ${@:2}
fi
else
weather_loop $@
fi
}
main $@