Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Gismeteo & Conky  (Прочитано 8541 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fenume

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Gismeteo & Conky
« Ответ #15 : 04 Января 2011, 17:42:20 »
как вариант http://pogoda.yandex.ru/mirny/ukraine/, где-то на форуме арчеводов встречал скрипты для я.погоды в коньках.

Оффлайн Neznauskas

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: Gismeteo & Conky
« Ответ #16 : 04 Февраля 2011, 23:32:54 »
Прикрутил Gismeteo
а как? у меня вот с родным городом та же проблема:(
вот это
Если кому интересно - скрипт для получения погоды с gismeteo. Не моя работа, но работает 100%
#!/usr/bin/perl
if($fc = `curl -s http://informer.gismeteo.ru/text/36177-1.JS | iconv -f CP1251 -t UTF-8`){
my $a = substr($fc,372);
my @vars=split(/</, $a);
foreach $v (@vars){
my ($x,$z)=split(/>/, $v);
if ((defined($z))and($z ne '')){push(@res,$z);}}
my $city=$res[0];
my $date=$res[1];
my $sky=$res[2];
my $prec=$res[3];
my $temp=$res[4];
my $wind=$res[5];
print "Погода в г. $city: \n $temp, $sky, $prec; \n Ветер: $wind\n";}
никак не приживается :(

Оффлайн ravus

  • Новичок
  • *
  • Сообщений: 7
  • Debian 7, MATE
    • Просмотр профиля
Re: Gismeteo & Conky
« Ответ #17 : 09 Ноября 2013, 12:41:23 »
А кто то может выложить подробную инструкцию по тому как брать погоду с gismeteo, так как whather.com сейчас не работает  :tickedoff:.
Из выше изложенного я например не понял как вызывать скрипт из conkyrc, какой командой

Пользователь решил продолжить мысль 10 Ноября 2013, 00:49:57:
Итак как сделать вывод погоды с gismeteo.ru в conky (whether.com с conkyforecast не работает недели три как)...


1. Создаем в /home/user/ файл скрипта .wheather.sh
2. Вставляем в файл следующий код скрипта #!/bin/bash

city_code="$1"
cache="$HOME/.cache/gismeteo/"

if [[ -z "$@" ]] || [[ "$1" == "-h" ]]; then
echo -e "Параметры запуска:
weather.sh [код_города] [глубина_прогноза] [запрашиваемая информация] [координаты_изображения]
код_города - узнать на сайте gismeteo.ru
глубина_прогноза - число от 1 до 4. Gismeteo выдает всего 4 дня в rss за раз.
запрашиваемая_информация:
p - давление
w - ветер
t - температура
d - дата
image - изображение погоды
"

exit
fi

conky_ver=$(conky -v|head -n 1|awk {'print $2'})
src=$(curl -s "http://informer.gismeteo.ru/rss/${city_code}.xml"|egrep "title|description|enclosure"|tail -n +4|sed -r "s/<\/?((title)|(description))>//g"  )

case "$2" in
2) day=4
;;
3) day=7
;;
4) day=10
;;
1) day=1
;;
*) echo "Второй аргумент должен быть числом от 1 до 4"
exit 1
;;
esac

src_cur=$(echo -e "$src"|tail -n +$day|head -n 3)

if [[ "$(echo $conky_ver|awk -F\. {'print $1'})" -ge "1" ]] && [[ "$(echo $conky_ver|awk -F\. {'print $2'})" -ge "6" ]] && [[ "$3" == "image" ]] ; then
if [[ ! -d $cache ]] ; then mkdir $cache ; fi
src_image=$(echo "$src_cur"|grep enclosure|awk -F\" {'print $2'})
image=$(basename $src_image)
if [[ ! -f "$cache/$image" ]] ; then
wget -nc --quiet $src_image -O $cache/$image
fi
echo "\${image $cache/$image -p $4}"
exit 0
fi

for i in $(echo "$3"|sed s/./" &"/g)
do
info_cur=$(echo "$src_cur"|grep "температура ")

case "$i" in
d)
echo -ne "$src_cur"|grep \:|grep -v enclosure|awk {'print $2" "$3" "$4'}|sed s/Aug/Август/g|sed s/,//g
;;

t)
echo "$info_cur"|awk -F "температура " {'print $2'}|awk {'print "t°C: " $1'}
;;
p)
echo "$info_cur"|awk -F "давление" {'print $2'}|awk {'print "P: " $1'}
;;
w)
echo "$info_cur"|awk -F "ветер" {'print "Ветер:"  $2'}
;;
*)
echo "Ошибка: неизвестный параметр"
;;
esac
done
3. Файлу .wheather.com добавляем право выполнятся как програма
4. Добавляем в conkyrc код вызова скрипта ${voffset 4}${execi 600 /home/serg/.weather.sh 33815 1 dtpw}
${voffset 4}${execpi 600 /home/user/.weather.sh 33815 1 image 175,565}
${voffset 4}${execi 600 /home/user/.weather.sh 33815 2 dtpw}
${voffset 4}${execpi 600 /home/user/.weather.sh 33815 2 image 175,635}
33815 - это код города Киева, как его узнать на сайте gismeteo я так и не понял, но где то нагуглил. Советую поступить так же всем.
75,635 - координаты картинки погоды

P.S. Вся информация где то нагуглина и проверена на работоспособность
« Последнее редактирование: 10 Ноября 2013, 00:49:57 от ravus »
Debian Wheezy, MATE

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.