Advertisement
Guest User

Untitled

a guest
May 26th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # API-key для OpenWeatherMap
  4. gw_key=''
  5. # Код города по-умолчанию
  6. gw_cid='1486910'
  7.  
  8. # Создаём временный файл
  9. gw_basename="`basename $0`"
  10. gw_temp="`mktemp /tmp/${gw_basename}.XXXXXXX`"
  11.  
  12. # Если в первом параметре не указан
  13. # код города, то используем по-умолчанию
  14. [ $1 ] && gw_cid="${1}"
  15.  
  16. # Получаем файл в формате json
  17. fetch -qo ${gw_temp} "http://api.openweathermap.org/data/2.5/weather?id=${gw_cid}&lang=ru&units=metric&APPID=${gw_key}" \
  18. > /dev/null 2> /dev/null
  19.  
  20. # Запрашиваем нужные параметры из файла
  21. #gw_param_name="`cat ${gw_temp} | jq -r .name`"
  22. gw_param_temp="`cat ${gw_temp} | jq -r .main.temp`"
  23. gw_param_main="`cat ${gw_temp} | jq -r ".weather[0] .description"`"
  24. gw_param_wind_speed="`cat ${gw_temp} | jq -r .wind.speed`"
  25. gw_param_wind_deg="`cat ${gw_temp} | jq -r .wind.deg`"
  26. gw_param_press="`cat ${gw_temp} | jq -r .main.pressure`"
  27.  
  28. # Округляем направление ветра до целых
  29. gw_param_wind_deg="`echo ${gw_param_wind_deg}/1 | bc`"
  30.  
  31. # Переводим из градусов в направление
  32. if [ "$gw_param_wind_deg" -ge "12" -a "$gw_param_wind_deg" -le "33" ] ; then
  33. gw_param_wind_deg="ССВ"
  34. elif [ "$gw_param_wind_deg" -ge "34" -a "$gw_param_wind_deg" -le "56" ] ; then
  35. gw_param_wind_deg="СВ"
  36. elif [ "$gw_param_wind_deg" -ge "57" -a "$gw_param_wind_deg" -le "78" ] ; then
  37. gw_param_wind_deg="ВСВ"
  38. elif [ "$gw_param_wind_deg" -ge "79" -a "$gw_param_wind_deg" -le "101" ] ; then
  39. gw_param_wind_deg="В"
  40. elif [ "$gw_param_wind_deg" -ge "102" -a "$gw_param_wind_deg" -le "123" ] ; then
  41. gw_param_wind_deg="ВЮВ"
  42. elif [ "$gw_param_wind_deg" -ge "124" -a "$gw_param_wind_deg" -le "146" ] ; then
  43. gw_param_wind_deg="ЮВ"
  44. elif [ "$gw_param_wind_deg" -ge "147" -a "$gw_param_wind_deg" -le "168" ] ; then
  45. gw_param_wind_deg="ЮЮВ"
  46. elif [ "$gw_param_wind_deg" -ge "169" -a "$gw_param_wind_deg" -le "191" ] ; then
  47. gw_param_wind_deg="Ю"
  48. elif [ "$gw_param_wind_deg" -ge "192" -a "$gw_param_wind_deg" -le "213" ] ; then
  49. gw_param_wind_deg="ЮЮЗ"
  50. elif [ "$gw_param_wind_deg" -ge "214" -a "$gw_param_wind_deg" -le "236" ] ; then
  51. gw_param_wind_deg="ЮЗ"
  52. elif [ "$gw_param_wind_deg" -ge "237" -a "$gw_param_wind_deg" -le "258" ] ; then
  53. gw_param_wind_deg="ЗЮЗ"
  54. elif [ "$gw_param_wind_deg" -ge "259" -a "$gw_param_wind_deg" -le "281" ] ; then
  55. gw_param_wind_deg="З"
  56. elif [ "$gw_param_wind_deg" -ge "282" -a "$gw_param_wind_deg" -le "303" ] ; then
  57. gw_param_wind_deg="ЗСЗ"
  58. elif [ "$gw_param_wind_deg" -ge "304" -a "$gw_param_wind_deg" -le "326" ] ; then
  59. gw_param_wind_deg="СЗ"
  60. elif [ "$gw_param_wind_deg" -ge "327" -a "$gw_param_wind_deg" -le "348" ] ; then
  61. gw_param_wind_deg="ССЗ"
  62. elif [ "$gw_param_wind_deg" -ge "349" -a "$gw_param_wind_deg" -le "360" ] ; then
  63. gw_param_wind_deg="С"
  64. elif [ "$gw_param_wind_deg" -ge "0" -a "$gw_param_wind_deg" -le "11" ] ; then
  65. gw_param_wind_deg="С"
  66. else
  67. gw_param_wind_deg="???"
  68. fi
  69.  
  70. gw_param_press="`echo "${gw_param_press} * 0.750064 / 1" | bc`"
  71.  
  72. echo "${gw_param_temp}°C ${gw_param_main} ↑${gw_param_wind_deg} ${gw_param_wind_speed}м/с ${gw_param_press}мм"
  73.  
  74. # Удаляем временный файл
  75. rm ${gw_temp}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement