48 lines
1.1 KiB
Bash
Executable File
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 $@
|