Pull to refresh

Google Wave Notifier для Ubuntu

Reading time3 min
Views651
Уже несколько недель мы используем волну для организации работы небольшой такой фрилансерской команды. И все бы в общем-то хорошо, но для того, чтобы можно было быстро реагировать на новые таски или багрепорты приходилось мало того, что держать открытой веб-интерфейс волны, так еще и обращать туда периодически свое внимание. А это не всегда возможно даже когда просто читаешь какую-нибудь чушь, не говоря уже о состоянии «закопан в работу по уши».


Добавляло дискофморта еще и то, что я, во-первых, работаю на нетбуке — для скриптового программинга его хватает, конечно, но чем меньше на нем запущено тяжелых приложений, тем лучше :), а во-вторых, не пользуюсь Firefox, под который совсем недавно был выпущен AddOn, сообщающий об обновлённых волнах.

С этого-то аддона я и начал плясать, смутно надеясь, что его разработчик достал где-то какую-то апи, с помощью которой можно легко достать информацию о количестве непрочитанных обновлений.

Когда я разобрал аддон на кусочки выяснилось, что, к сожалению, использован там на самом деле достаточно брутальный путь, о котором я и сам задумывался, когда только прикидывал написание нотификатора — мы просто логинимся, получаем код веб-интерфейса, и разбираем json'овский объект, в котором хранится куча разной информации, в том числе — и количество непрочитанных апдейтов блипов.

Так что я потратил некоторое количество времени и наваял питоновский скриптик, занимающийся практически тем же самым — с определенным интервалом показывает системное всплывающее сообщение с количеством и названиями обновленных волн.

«Из коробки» он запустится, наверное, только под ubuntu с gnome, просто потому, что для вывода сообщений использует notify-send (о котором я недавно узнал, перечитывая старые топики на хабре, спасибо, brain2xml :)).

upd: По свидетельству xdemon, работает в kde4, archlinux. Так что, видимо, конструкция не совсем непереносима :)

Но я думаю, что не составит особой проблемы для желающих перепилить скрипт под свою систему и свой любимый способ сообщений, тем более, что код вывода нотификации специально (хитрый план) вынесен в отдельную функцию.

Итак, ставим нотификатор:

  1. Убеждаемся, что у нас есть питон :), urllib, urllib2, cookielib. Самый простой способ — в консоли ввести python, в появившейся строке — import urllib, urllib2, cookielib. Если не сругался — Ctrl+D, чтобы оттуда выбраться. Если сругался — ставим.
  2. Качаем отсюда архив
  3. Распаковываем его куда-нибудь
  4. Правим notify.conf — самым очевидным образом, логин и пароль
    Еще один параметр в конфиге, timeout — это, соответственно, интервал между проверками в секундах
  5. sudo chmod +x ./notify.py в консоли в папке, куда распаковали


Можно запускать :)

В первый раз, наверное, лучше запустить из консоли, ./notify.py, просто потому, что он выводит набор разной дебаговой и не очень информации, по которой можно понять, все ли в порядке.

В архиве еще есть файлик run.sh, написанный мной затем, чтобы можно было без проблем запускать скрипт из System->Preferences->Startup Applications на старте системы.

Главное, что делает sh-скрипт — паузу перед запуском питоновского, чтобы успели отморгаться все системные сообщения и система успела выйти в сеть.

Надеюсь, что это будет полезной штуковиной для волнопользователей :)
C&C very welcome!

PS: Для вывода сообщений использованы иконки из набора MacUltimate Leopard.

PPS: Скрипт написан недавно, особо отладить его я не успел, предоставляется as is :)
К тому же, несмотря на все мои старания, я не нашел официальной позиции Google по отношению к такого рода автоматическим получателям инфы.
Tags:
Hubs:
+15
Comments21

Articles

Change theme settings