elhackerlibre

weather

Jul 23rd, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #!/bin/bash
  2. # Based on http://openweathermap.org/current
  3.  
  4. API_KEY="2ba12a9f60bc792b92abe4feb6c9e145"
  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
Add Comment
Please, Sign In to add comment