4 янв. 2014 г.

Conky с погодой от rp5.ru

На улице гололёд, надо точить коньки... 
Почему-то перестала погода от weather.com отображаться в conky. Мне было некогда заниматься такими мелочами, но вот в праздники наконец-то добралась я до коньков.
Ещё раньше нашла руководство, как получать погоду с rp5.ru.
Конечно, с этого сайта данные немного непривычные. Выглядит всё не как с weather.com.
В итоге настроила этот скриптик для себя. Пришлось поменять выбор отображаемой картинки шрифтом ConkyWeather. В исходном скрипте рисовалась только облачность (в зависимости от параметра cloud_cover), пришлось в блок "Преобразование облачности" в скрипте weather.py прилепить выбор картинки ещё в зависимости от осадков - and int(self.falls) (методом научного тыка, я же не разбираюсь в этом))).
Вот что получилось:


 Далее - скрипт и конфиг.

Скрипт weather.py с поправками (и конфиг коньков).
Ссылка на googleDisk
Спасибо товарищу Zloy Pingvin за сей скрипт.
Ссылка для примера для Москвы, на сайте rp5.ru найти свой город, потом Приложения - XML, там в тексте будет ссылка.

Конфиг моих коньков:

background no
update_interval 1
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
double_buffer yes
no_buffers yes
text_buffer_size 2048
imlib_cache_size 0
use_xft yes
xftfont LaudatioC:size=9

own_window yes
own_window_class Conky
#own_window_type override
#own_window_type desktop
own_window_type normal
own_window_argb_visual yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#own_window_colour #476E99
#border_inner_margin 100
#border_outer_margin 100

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
alignment top_left
gap_x 10
gap_y 150
#minimum_size 1000 1024 # ширина высота

TEXT
#ВРЕМЯ
${offset 10}${color #C8FFC8}${font LaudatioC:style=bold:pixelsize=50}${time %H:%M}${font}${color}
#ДАТА
${voffset 8}${color #C8FFC8}${font LaudatioC:pixelsize=21}${time %d. %B}${font}${color}
${voffset 4}${alignr 170}${color #C8FFC8}${font LaudatioC:pixelsize=21}${time %A}${font}${color}

#ПОЧТА (gmail, yandex, rambler)
${color #C8FFC8}${font LaudatioC:pixelsize=22}Почта${font}${color}
${offset 11}GM${offset 40}YA${offset 45}RA
${offset 22}${execi 600 conkyEmail --servertype=IMAP --servername=imap.googlemail.com --username=хххххх@gmail.com --password=***** --ssl}${offset 49}${execi 600 conkyEmail --servertype=IMAP --servername=imap.yandex.ru --username=хххххх@yandex.ru --password=***** --ssl}${offset 54}${execpi 600 conkyEmail --servertype=IMAP --servername=mail.rambler.ru --username=хххххх@rambler.ru --password=****** --ssl}

#СЕТЬ
${color #C8FFC8}${font LaudatioC:pixelsize=22}Трафик${font}${color}
входящий${offset 30}исходящий
${offset 11}${downspeed ppp0}
${voffset -16}${offset 108}${upspeed ppp0}

#ОБНОВЛЕНИЯ
# если есть заблокированные пакеты, то выбирается первая строка (число после tail их кол-во), если нет заблокированных, то вторая
${color #C8FFC8}${font LaudatioC:pixelsize=22}Обновления:${font}${color} ${voffset -3}${font LaudatioC:pixelsize=16}${execi 1800 sh -c 'expr $(aptitude search "~U" | wc -l | tail) - 2'}${font}
#${color #C8FFC8}${font Europe:pixelsize=22}Обновления:${font}${color} ${voffset -3}${font LaudatioC:pixelsize=16}${execi 1800 aptitude search "~U" | wc -l | tail}${font}

#ПОГОДА
${color #C8FFC8}${font LaudatioC:pixelsize=22}Погода${font}${color}
# первое значение
${goto 10}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 0 datetime}${font}
# осадки
${goto 10}${font ConkyWeather:size=40}${execi 3600 ~/weather/weather.py -d 0 ccloud_cover}${font}
${voffset -65}
${goto 110}${font ConkyWindNESW:size=40}${execi 3600 ~/weather/weather.py -d 0 wwind_direction}${font}
${goto 15}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 0 temperature} °C${font}
${voffset -37}
${goto 117}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 0 wind_velocity}м/с${font}
# второе значение
${goto 10}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 1 datetime}${font}
# осадки
${goto 10}${font ConkyWeather:size=40}${execi 3600 ~/weather/weather.py -d 1 ccloud_cover}${font}
${voffset -65}
${goto 110}${font ConkyWindNESW:size=40}${execi 3600 ~/weather/weather.py -d 1 wwind_direction}${font}
${goto 15}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 1 temperature} °C${font}
${voffset -37}
${goto 117}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 1 wind_velocity}м/с${font}
# третье значение
${goto 10}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 2 datetime}${font}
# осадки
${goto 10}${font ConkyWeather:size=40}${execi 3600 ~/weather/weather.py -d 2 ccloud_cover}${font}
${voffset -65}
${goto 110}${font ConkyWindNESW:size=40}${execi 3600 ~/weather/weather.py -d 2 wwind_direction}${font}
${goto 15}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 2 temperature} °C${font}
${voffset -37}
${goto 117}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 2 wind_velocity}м/с${font}
# четвёртое значение
${goto 10}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 3 datetime}${font}
# осадки
${goto 10}${font ConkyWeather:size=40}${execi 3600 ~/weather/weather.py -d 3 ccloud_cover}${font}
${voffset -65}
${goto 110}${font ConkyWindNESW:size=40}${execi 3600 ~/weather/weather.py -d 3 wwind_direction}${font}
${goto 15}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 3 temperature} °C${font}
${voffset -37}
${goto 117}${font LaudatioC:size=12}${execi 3600 ~/weather/weather.py -d 3 wind_velocity}м/с${font}


Скрипт weather.py помещается в папку ~/weather, конфиг коньков, понятное дело - в домашнюю папку. Название шрифта LaudatioC в конфиге меняем на своё.
Если в пароле на почту есть разные символы (на них conky ругается, пытаясь интерпретировать как команды), можно сделать так (пароль в одинарных кавычках):
 --password='*****'

1 комментарий:

Анонимный комментирует...

жив, курилка. Я очень рад, что блог ещё живой...