diff options
Diffstat (limited to 'weather.sh')
-rwxr-xr-x | weather.sh | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/weather.sh b/weather.sh new file mode 100755 index 0000000..967a085 --- /dev/null +++ b/weather.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# +# =========================================================== +# Based on script from @Anachron's i3blocks, as well as +# @Addy's icon additions and @Nili's network-connection check +# Mod by @ceeslans, to draw icons from tint2 config folder +# =========================================================== + +# Open Weather Map API code, register to http://openweathermap.org to get one : +API_KEY="addb94619729b6651f54d5c9984a45d4" + +# Check on http://openweathermap.org/find : +CITY_ID="4177908" + +# Select applicable temperature symbol "˚C" or "˚F" : +SYMBOL_CELSIUS="˚F" + +# Change "Text" to your preferred language : +TEXT_SNOW="Snow" +TEXT_RAINY="Rainy" +TEXT_DRIZZLE="Drizzle" +TEXT_SHOWERS="Showers" +TEXT_SUNNY="Sunny" +TEXT_CLEAR="Clear" +TEXT_CLOUDY="Cloudy" +TEXT_OVERCAST="Overcast" +TEXT_STORM="Storm" +TEXT_FOG="Fog" + +# Show Papirus weather-icons : +ICONPATH="$HOME/.config/tint2/executors/icons/weather/" +# or show original openweathermap weather-icons : +#ICONPATH="$HOME/.config/tint2/executors/icons/weather/openweathermap/" + +# Don't change these lines, unless you know what you're doing... +if ping -qc1 1.1.1.1 >/dev/null; then + WEATHER_URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&appid=${API_KEY}&units=imperial" +else + echo "${ICONPATH}404.png" + echo "Link Down" +fi + +WEATHER_INFO=$(wget -qO- "${WEATHER_URL}") +WEATHER_MAIN=$(echo "${WEATHER_INFO}" | grep -o -e '\"main\":\"[A-Za-z]*\"' | awk -F ':' '{print $2}' | tr -d '"') +WEATHER_TEMP=$(echo "${WEATHER_INFO}" | grep -o -e '\"temp\":\-\?[0-9]*' | awk -F ':' '{print $2}' | tr -d '"') +WEATHER_ICON=$(echo "${WEATHER_INFO}" | grep -o -e '\"icon\":\"[0-9a-z]*\"' | awk -F ':' '{print $2}' | tr -d '"') + +# To add short condition description in the toolbar, comment out # ${TEXT-*} : + +if [[ "${WEATHER_MAIN}" = *Snow* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_SNOW}" + +elif [[ "${WEATHER_MAIN}" = *Rain* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_RAINY}" + +elif [[ "${WEATHER_MAIN}" = *Drizzle* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_DRIZZLE}" + +elif [[ "${WEATHER_MAIN}" = *Shower* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_SHOWERS}" + +elif [[ "${WEATHER_MAIN}" = *Sunny* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_SUNNY}" + +elif [[ "${WEATHER_MAIN}" = *Clear* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_CLEAR}" + +elif [[ "${WEATHER_MAIN}" = *Cloud* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_CLOUDY}" + +elif [[ "${WEATHER_MAIN}" = *Overcast* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_OVERCAST}" + +elif [[ "${WEATHER_MAIN}" = *Storm* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_STORM}" + +elif [[ "${WEATHER_MAIN}" = *Fog* ]]; then + echo "${ICONPATH}${WEATHER_ICON}" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS}" # "${TEXT_FOG}" + +else + echo "${ICONPATH}04.png" + echo "${WEATHER_TEMP}${SYMBOL_CELSIUS} ${WEATHER_MAIN}" +fi |