#!/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 $@