Информер погоды

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться в раздел советов

Скрипт забирает код информера с gismeteo.ru, убирает теги и показывает через notify-send.
P.S. Может кто подскажет как узнать папку иконок используемой темы GTK.

Файл: weather.sh

#!/bin/bash
txt="`curl -s "http://informer.gismeteo.ru/text/33345-1.JS" | sed -e 's/^[^<]*//g
s/[^>]*$//g
s/\(<[^>]\+>\)\+/\n/g'|iconv -f cp1251 -t UTF-8;`"

pngs="/usr/share/icons/Tango/64x64/status/";
echo ${txt}|grep -v -q "ясно";
cloud=$?;
echo ${txt}|grep -v -q "без осадков";
rain=$?;
echo ${txt}|grep  -q "снег";
snow=$?;
echo ${txt}|grep  -q "гроза";
thunder=$?;
echo ${txt}|grep  -q "ливни";
shower=$?;
echo ${txt}|grep  -q "шторм";
storm=$?;
level='normal';

if [[ "$thunder" -eq 0 || "$storm" -eq 0 || $shower -eq 0 ]];then
# шторм
	pngs="${pngs}weather-storm.png";
	level='critical';
elif [[ "$snow" -eq 0 ]];then
# снег
	pngs="${pngs}weather-snow.png";
elif [[ "$cloud" -eq 0  && "$rain" -eq 0 ]];then
# тучи дождь
	pngs="${pngs}weather-showers-scattered.png";
elif [[ ! "$cloud" -eq 0 && ! "$rain" -eq 0  ]];then
# 	солнце
	pngs="${pngs}weather-clear.png";
	level='low';
elif [[ "$cloud" -eq 0 && !"$rain" -eq 0 ]];then
# тучи 
	pngs="${pngs}weather-overcast.png";
else
# переменная 
	pngs="${pngs}weather-few-clouds.png";
	level='low';
fi

notify-send -u ${level} -i ${pngs} "$txt";

 
Личные инструменты