|
| 1 | +#Main variables and environment |
| 2 | +ZSH_THEME=mortalscumbag |
| 3 | +CACHE=~/.cache |
| 4 | +ScriptFolder=/usr/src |
| 5 | +source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh |
| 6 | +source ~/.bash_profile |
| 7 | +source ~/.oh-my-zsh/oh-my-zsh.sh |
| 8 | + |
| 9 | +#Main script |
| 10 | +## First we need to check if we're online to see if we can then keep going on receiving the weather |
| 11 | +res=`ping google.com -c 1 -q -W 2 -w 2 | grep '1 packets transmitted, 1 received, 0% packet loss' | wc -l` |
| 12 | +if [ "$res" -eq "1" ] |
| 13 | +then |
| 14 | +# We retrieve everything we need: we store it in weather.json |
| 15 | +#First we check for the existence of the file |
| 16 | +$ScriptFolder/weather-v2.0.sh &>/dev/null |
| 17 | + |
| 18 | +# We fetch the sunrise/set time |
| 19 | +sunrise=$(cat $CACHE/weather.json |jq '.sys.sunrise') |
| 20 | +sunset=$(cat $CACHE/weather.json|jq '.sys.sunset' ) |
| 21 | +#We need the minutes and hours as numeric values to keep going |
| 22 | +sunriseMins=$(echo $sunrise | cut -c 5-6) |
| 23 | +sunsetMins=$(echo $sunset | cut -c 5-6) |
| 24 | +sunriseHours=$(echo $sunrise | cut -c 2-3) |
| 25 | +sunsetHours=$(echo $sunset | cut -c 2-3) |
| 26 | +sunriseMins=$(echo $sunriseMins|sed 's/^0*//') |
| 27 | +sunsetMins=$(echo $sunsetMins|sed 's/^0*//') |
| 28 | +#We need to parse them to the hour, that is the only thing we check |
| 29 | +if [[ sunriseMins -ge 30 ]] #if the minutes are above half an hour, then we round it above |
| 30 | +then |
| 31 | + sunriseHours=$(echo $sunriseHours|sed 's/^0*//') |
| 32 | + sunrise=$(($sunriseHours+1)) |
| 33 | +else #if the minutes are below 30, we just take the normal hour |
| 34 | + sunrise=$sunriseHours |
| 35 | +fi |
| 36 | + |
| 37 | + # We do the same for the sunset time |
| 38 | +if [[ sunsetMins -ge 30 ]] #if the minutes are above half an hour, then we round it above |
| 39 | +then |
| 40 | + sunsetHours=$(echo $sunsetHours|sed 's/^0*//') |
| 41 | + sunset=$(($sunsetHours+1)) |
| 42 | +else #if the minutes are below 30, we just take the normal hour |
| 43 | + sunset=$sunsetHours |
| 44 | +fi |
| 45 | +midday=$(($sunrise+($sunset-$sunrise)/2)) |
| 46 | +VAR=$(date +%H) |
| 47 | + |
| 48 | + |
| 49 | +#Then we begin to print text with lolcat to have the beautiful colorful DNA strands |
| 50 | +lolcat << 'END_DNA' |
| 51 | +O o O o O oO o O o O o |
| 52 | +| O o | | O o | | O o || O o | | O o | | O o | |
| 53 | +| | O | | | | O | | | | O | || | O | | | | O | | | | O | | |
| 54 | +| o O | | o O | | o O || o O | | o O | | o O | |
| 55 | +o O o O o Oo O o O o O |
| 56 | +END_DNA |
| 57 | +echo -e "\n" |
| 58 | + |
| 59 | +if [[ $VAR -ge $sunrise ]] && [[ $VAR -le $(($midday-1)) ]] |
| 60 | +then |
| 61 | + cat << 'END_MSG' |
| 62 | + * * ▌ ▌ ▜ ▌ ▌ |
| 63 | + * * * ▌▖▌▞▀▖▐ ▞▀▖▞▀▖▛▚▀▖▞▀▖ ▛▀▖▝▀▖▞▀▖▌▗▘ |
| 64 | + * * * * * ▙▚▌▛▀ ▐ ▌ ▖▌ ▌▌▐ ▌▛▀ ▌ ▌▞▀▌▌ ▖▛▚ |
| 65 | + * * * * * ▘ ▘▝▀▘ ▘▝▀ ▝▀ ▘▝ ▘▝▀▘ ▀▀ ▝▀▘▝▀ ▘ ▘ |
| 66 | + * * * * * * * |
| 67 | + * * * * * .# * * |
| 68 | + * * * #. .# * * |
| 69 | + * "#. #: #" * * * |
| 70 | + * * * "#. ##" * |
| 71 | + * "### |
| 72 | + "## |
| 73 | + ##. \ " ' ' " / |
| 74 | + .##: \ @@@@@@@@@ / |
| 75 | + :##: \ @@@@@@@@@@@@@ / |
| 76 | + ;### @@@@@@@@@@@@@@@@@ |
| 77 | + ,####. " @@@@@@@@@@@@@@@@@@@@ " |
| 78 | +/\/\/\/\/\/.######.\/\/\/\/\/\/\@@@@@@@@@@@@@@@@@@@@@@/\/\/\/\ |
| 79 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&&&&&&&&&&&&&&&&&&&&&&~~~~~~~~~~ |
| 80 | +END_MSG |
| 81 | + |
| 82 | +elif [[ $VAR -ge $(($midday-1)) ]] && [[ $VAR -le $(($sunset-1)) ]] |
| 83 | +then |
| 84 | + cat << 'END_MSG' |
| 85 | + * * |
| 86 | + * * * |
| 87 | + * * * * * |
| 88 | + * * * * * ; : ; |
| 89 | + * * * * * * * . \_,!,_/ , |
| 90 | + * * * * * .# * * `.,' `.,' |
| 91 | + * * * #. .# * * / \ |
| 92 | + * "#. #: #" * * * ~ -- : : -- ~ |
| 93 | + * * * "#. ##" * \ / |
| 94 | + * "### ,'`._ _.'`. |
| 95 | + "## ' / `!` \ ` |
| 96 | + ##. ; : ; |
| 97 | + .##: |
| 98 | + :##: |
| 99 | + ;### Welcome Back ! |
| 100 | + ,####. |
| 101 | +/\/\/\/\/\/.######.\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
| 102 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 103 | +END_MSG |
| 104 | + |
| 105 | +elif [[ $VAR -ge $(($sunset-1)) ]] && [[ $VAR -le $(($sunset+1)) ]] |
| 106 | +then |
| 107 | + cat << 'END_MSG' |
| 108 | + * * |
| 109 | + * * * |
| 110 | + * * * * * |
| 111 | + * * * * * |
| 112 | + * * * * * * * |
| 113 | + * * * * * .# * * Welcome back ! |
| 114 | + * * * #. .# * * |
| 115 | + * "#. #: #" * * * |
| 116 | + * * * "#. ##" * |
| 117 | + * "### |
| 118 | + "## |
| 119 | + ##. ~ " ' ' " ~ |
| 120 | + .##: ~ @@@@@@@@@ ~ |
| 121 | + :##: ~ ~@@@@@@@@@@@@@~ ~ |
| 122 | + ;### ~~@@@@@@@@@@@@@@@@@~~ |
| 123 | + ,####. " @@@@@@@@@@@@@@@@@@@@ " |
| 124 | +/\/\/\/\/\/.######.\/\/\/\/\/\/\@@@@@@@@@@@@@@@@@@@@@@/\/\/\/\ |
| 125 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&&&&&&&&&&&&&&&&&&&&&&~~~~~~~~~~ |
| 126 | +END_MSG |
| 127 | + |
| 128 | + |
| 129 | +elif [[ $VAR -ge $(($sunset+1)) ]] || [[ $VAR -le $sunrise ]] |
| 130 | +then |
| 131 | + cat << 'END_MSG' |
| 132 | + * * |
| 133 | + * * * * _.-'''-._ * |
| 134 | + * * * * * .' .-'``|'. |
| 135 | + * * * * * / / -*- \ |
| 136 | + * * * * * * * ; <{ | ; |
| 137 | + * * * * * .# * | _\ | | |
| 138 | + * * * #. .# * * ; _\ -*- | ; * |
| 139 | + * "#. #: #" * * * \ \ | -*- / |
| 140 | + * * * "#. ##" * '._ '.__ |_.' |
| 141 | + * "### '-----' |
| 142 | + "## * |
| 143 | + * ##. * |
| 144 | + .##: * * |
| 145 | + * :##: * |
| 146 | + ;### Welcome Back ! * |
| 147 | + ,####. |
| 148 | +/\/\/\/\/\/.######.\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ |
| 149 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 150 | +END_MSG |
| 151 | +fi |
| 152 | + |
| 153 | +echo -e "\n" |
| 154 | +echo -e "\r $USER, today is $(date +"%A, %d-%m-%y")" |
| 155 | +toilet -f mono9 $(date +%H:%M) |
| 156 | +echo -e "The weather today in $(cat $CACHE/weather.json | jq -r '.name' | sed "s|\<.|\U&|g") is : \n" |
| 157 | +#smblock might be nice too |
| 158 | +#toilet -f term "$(figlet -n -f term " Main temperature will be of: $(cat $CACHE/weather.json | jq '.main.temp' | awk '{print int($1+0.5)}')°C |
| 159 | +#(min: $(cat $CACHE/weather.json | jq -r '.main.temp_min' | awk '{print int($1+0.5)}')°C ; max: $(cat $CACHE/weather.json | jq -r '.main.temp_max' | awk '{print int($1+0.5)}')°C) |
| 160 | +#Humidity: $(cat $CACHE/weather.json | jq '.main.humidity')% |
| 161 | +#Wind speed: $(cat $CACHE/weather.json | jq '.wind.speed')km/h")" |
| 162 | +echo -e "\e[32mMain temperature will be of: $(cat $CACHE/weather.json | jq '.main.temp' | awk '{print int($1+0.5)}')°C\n |
| 163 | +(min: $(cat $CACHE/weather.json | jq -r '.main.temp_min' | awk '{print int($1+0.5)}')°C max: $(cat $CACHE/weather.json | jq -r '.main.temp_max' | awk '{print int($1+0.5)}')°C) \n |
| 164 | +Humidity: $(cat $CACHE/weather.json | jq '.main.humidity')% \n |
| 165 | +Wind speed: $(cat $CACHE/weather.json | jq '.wind.speed')km/h \n" |
| 166 | + |
| 167 | + |
| 168 | +lolcat << 'END_DNA' |
| 169 | +O o O o O oO o O o O o |
| 170 | +| O o | | O o | | O o || O o | | O o | | O o | |
| 171 | +| | O | | | | O | | | | O | || | O | | | | O | | | | O | | |
| 172 | +| o O | | o O | | o O || o O | | o O | | o O | |
| 173 | +o O o O o Oo O o O o O |
| 174 | +END_DNA |
| 175 | +else |
| 176 | +echo -e "\n" |
| 177 | + cat << 'END_MSG' |
| 178 | + * * |
| 179 | + * * * |
| 180 | + * * * * * |
| 181 | + * * * * * |
| 182 | + * * * * * * * |
| 183 | + * * * * * .# * * Welcome back ! |
| 184 | + * * * #. .# * * Your computer is not connected to any network =( |
| 185 | + * "#. #: #" * * * |
| 186 | + * * * "#. ##" * |
| 187 | + * "### |
| 188 | + "## |
| 189 | + ##. |
| 190 | + .##: |
| 191 | + :##: |
| 192 | + ;### |
| 193 | + ,####. |
| 194 | +/\/\/\/\/\/.######.\/\/\/\/\/\ |
| 195 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 196 | +END_MSG |
| 197 | +echo -e "\r $USER, today is $(date +"%A, %d-%m-%y")" |
| 198 | +toilet -f mono12 $(date +%H:%M) |
| 199 | + |
| 200 | + |
| 201 | +lolcat << 'END_DNA' |
| 202 | +O o O o O oO o O o O o |
| 203 | +| O o | | O o | | O o || O o | | O o | | O o | |
| 204 | +| | O | | | | O | | | | O | || | O | | | | O | | | | O | | |
| 205 | +| o O | | o O | | o O || o O | | o O | | o O | |
| 206 | +o O o O o Oo O o O o O |
| 207 | +END_DNA |
| 208 | +fi |
0 commit comments