Advertisement
elhackerlibre

i3blocks weather

Jan 31st, 2017
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.87 KB | None | 0 0
  1. #!/bin/bash
  2. # Based on http://openweathermap.org/current
  3.  
  4. API_KEY="c12b544368c46830e38d864f8dc6c9a9"
  5.  
  6. # Check on http://openweathermap.org/find
  7. CITY_ID="${BLOCK_INSTANCE}"
  8.  
  9. URGENT_LOWER=0
  10. URGENT_HIGHER=30
  11.  
  12. ICON_SUNNY=""
  13. ICON_CLOUDY=""
  14. ICON_RAINY=""
  15. ICON_STORM=""
  16. ICON_SNOW=""
  17. ICON_FOG=""
  18.  
  19. SYMBOL_CELSIUS="℃"
  20.  
  21. WEATHER_URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&appid=${API_KEY}&units=metric"
  22.  
  23. WEATHER_INFO=$(wget -qO- "${WEATHER_URL}")
  24. WEATHER_MAIN=$(echo "${WEATHER_INFO}" | grep -o -e '\"main\":\"[a-Z]*\"' | awk -F ':' '{print $2}' | tr -d '"')
  25. WEATHER_TEMP=$(echo "${WEATHER_INFO}" | grep -o -e '\"temp\":\-\?[0-9]*' | awk -F ':' '{print $2}' | tr -d '"')
  26.  
  27. if [[ "${WEATHER_MAIN}" = *Snow* ]]; then
  28.   echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  29.   echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  30.   echo ""
  31. elif [[ "${WEATHER_MAIN}" = *Rain* ]] || [[ "${WEATHER_MAIN}" = *Drizzle* ]]; then
  32.   echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  33.   echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  34.   echo ""
  35. elif [[ "${WEATHER_MAIN}" = *Cloud* ]]; then
  36.   echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  37.   echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  38.   echo ""
  39. elif [[ "${WEATHER_MAIN}" = *Clear* ]]; then
  40.   echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  41.   echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  42.   echo ""
  43. elif [[ "${WEATHER_MAIN}" = *Fog* ]] || [[ "${WEATHER_MAIN}" = *Mist* ]]; then
  44.   echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  45.   echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  46.   echo ""
  47. else
  48.   echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  49.   echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
  50.   echo ""
  51. fi
  52.  
  53. if [[ "${WEATHER_TEMP}" -lt "${URGENT_LOWER}" ]] || [[ "${WEATHER_TEMP}" -gt "${URGENT_HIGHER}" ]]; then
  54.   exit 0
  55. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement